IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Pb Taille mémoire d'un objet TStrings ?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Par défaut Pb Taille mémoire d'un objet TStrings ?
    Bonjour,

    Comment connaître la taille de la mémoire d'un objet TStrings ?

    Exemple quelle est la mémoire occupée par TMemo.lines ? ou TListBox.Items ? Après que ces objets ont été initialisés par un code source ?

    Merci à tous

  2. #2
    Membre émérite
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Par défaut
    Dans quel but souhaites-tu connaitre la taille en mémoire d'un TStrings ?
    Est-ce que le problème ne serait pas plutot comment faire avec une liste vraiment longue et éviter de tout charger en mémoire ? Voire, j'ai déjà une liste d'objet avec les infos dedans, comment puis-je afficher une propriété particulière de ces objets sans pour autant copier toutes les valeurs ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Par défaut Le But
    J'initialise un objet TStrings et je dois le passer dans un buffer. Il me faut donc connaître la taille du Strings pour dimensionner le buffer

  4. #4
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Bonjour,

    Pour passer un Tstrings dans un buffer et le récupérer, on peut utiliser la propriété Tstrings.Text.

  5. #5
    Membre émérite
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Par défaut
    Tu veux passer une instance de TStrings dans un buffer ?
    Mais tu n'auras qu'un Integer dans ton buffer, TStrings c'est un objet, pas un record, donc tu ne peux pas avoir la main sur l'objet en entier mais juste sur l'endroit où il se trouve.
    Tu peux en revanche passer les données qui t'intéressent en extrayant le contenu grâce à la property Text de TStrings (comme l'indique Graffito).

  6. #6
    Membre éprouvé
    Inscrit en
    Avril 2005
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 123
    Par défaut
    Et la fonction sizeof elle te permet pas de recupérer la taille du TStrings?

  7. #7
    Membre émérite
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Par défaut
    Non. Dans Delphi, une variable objet n'est qu'une référence, un pointeur. Sa taille est toujours de 4 octets.

Discussions similaires

  1. [POO] taille mémoire d'un objet dérivant de la classe handle
    Par oodbae_adriano dans le forum MATLAB
    Réponses: 0
    Dernier message: 29/08/2011, 18h01
  2. Réponses: 3
    Dernier message: 13/04/2010, 13h38
  3. Objets et taille mémoire
    Par programan dans le forum C++
    Réponses: 4
    Dernier message: 15/09/2005, 14h08
  4. Réponses: 3
    Dernier message: 28/06/2005, 09h07
  5. [JVM] Connaitre la taille mémoire utilisé par les dif classe
    Par sur_uix dans le forum Général Java
    Réponses: 4
    Dernier message: 18/09/2003, 09h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo