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

Langage Delphi Discussion :

libérer tableaux dynamiques


Sujet :

Langage Delphi

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chypre

    Informations forums :
    Inscription : Août 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut libérer tableaux dynamiques
    salut
    j'ai une question : faut il libérer les tableaux dynamiques déclarés dans une fonction/procédure à la fin de son exécution ou cela se fait automatiquement comme pour les autres types de variables ?

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    Citation Envoyé par marko1587 Voir le message
    salut
    j'ai une question : faut il libérer les tableaux dynamiques déclarés dans une fonction/procédure à la fin de son exécution ou cela se fait automatiquement comme pour les autres types de variables ?
    le tableau lui-même sera libéré mais s'il contient des objets il faudra les libérer avant la fin de la procédure.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chypre

    Informations forums :
    Inscription : Août 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    merci
    donc une variable de type "array of integer" sera libérée automatiquement

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    tout à fait

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chypre

    Informations forums :
    Inscription : Août 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    merci pour la réponse

  6. #6
    Membre expérimenté Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Points : 1 448
    Points
    1 448
    Par défaut
    Pour apporter un peu plus de détails, a la fin d'une procédure,
    • Les tableaux et les chaines sont libérés (compteur de référence décrémenté)
    • Les interfaces sont passées à nil (_release() appelé)

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chypre

    Informations forums :
    Inscription : Août 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    une dernière question : qu'en est-il des attributs "de type tableaux dynamiques" des objets ??? faut-il les libérer dans Destroy ou non ???

  8. #8
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    même punition, quand l'objet est détruit, le tableau est libéré.

    la méthode TObject.CleanupInstance invoquée automatiquement se charge de "finaliser" les membres dynamiques, les interfaces, les variants et les string de l'objet

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chypre

    Informations forums :
    Inscription : Août 2012
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    merci pour les réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tableaux dynamiques
    Par sebduth dans le forum Fortran
    Réponses: 5
    Dernier message: 05/07/2005, 15h36
  2. tableaux dynamiques
    Par Mynautor dans le forum C++
    Réponses: 23
    Dernier message: 12/02/2005, 02h45
  3. [D7] Tableaux dynamiques dans un record
    Par bobby-b dans le forum Langage
    Réponses: 2
    Dernier message: 30/06/2004, 23h23
  4. Article sur les tableaux dynamiques
    Par Eric Sigoillot dans le forum Langage
    Réponses: 2
    Dernier message: 16/04/2004, 22h00
  5. [Kylix] Tableaux dynamiques sour Kylix2
    Par Krän dans le forum EDI
    Réponses: 6
    Dernier message: 07/10/2003, 14h31

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