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ération des tableaux dynamiques


Sujet :

Langage Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    frTRYER
    Inscrit en
    Avril 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : frTRYER

    Informations forums :
    Inscription : Avril 2006
    Messages : 52
    Points : 32
    Points
    32
    Par défaut libération des tableaux dynamiques
    Petite question : les tableaux dynamiques sont ils libérés automatiquement ou est il obligatoire de faire SetLength(tableaux, 0) avant de sortir des fonctions.
    J'utilise les tableaux dynamique depuis quelques temps déjà et il m'a tjs semblé que delphi s'occupait de liberer la mémoire de ces tablaux ... mais maintenant j'ai un doute ...

    Merci

  2. #2
    bjl
    bjl est déconnecté
    Membre averti Avatar de bjl
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : Brésil

    Informations forums :
    Inscription : Décembre 2002
    Messages : 263
    Points : 338
    Points
    338
    Par défaut
    Bonjour,

    il semblerait que mettre à nil un tableau dynamique ou lui donner une longueur 0 soit la même chose.

    Un tableau dynamique déclaré en variable locale d'une méthode est remis à nil lors de la sortie de cette méthode : la mémoire serait donc libérée.

    Toutefois, écrire
    SetLength(MyArray, 0) ne coute pas beaucoup et me parait plus sain.

  3. #3
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut
    je pense que faire un ne libère pas la mémoire, il faut plutot faire un

  4. #4
    bjl
    bjl est déconnecté
    Membre averti Avatar de bjl
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : Brésil

    Informations forums :
    Inscription : Décembre 2002
    Messages : 263
    Points : 338
    Points
    338
    Par défaut
    et pourtant pour tronquer un tableau, l'aide conseille de faire un setlength. à chaque setlength, la mémoire est réallouée.

    sinon, l'aide delphi conseille pour désallouer la mémoire de mettre à nil la variable référençant le tableau ou de faire un finalize, avant d'ajouter qu'un tableau de longueur 0 a pour valeur nil.

  5. #5
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut
    Ok autant pour moi , le bouquin que j'avais sur Delphi 6 disait le contraire .

Discussions similaires

  1. De l'initialisation des tableaux dynamiques de Record
    Par metanil dans le forum Langage
    Réponses: 13
    Dernier message: 03/01/2008, 16h54
  2. [debutant nul] libération mémoire tableaux dynamiques
    Par hibiscuit dans le forum Débuter
    Réponses: 11
    Dernier message: 11/09/2007, 14h46
  3. [xsl-fo]Numéroter des tableaux dynamiques
    Par Little_flower dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 23/05/2007, 16h02
  4. Réponses: 6
    Dernier message: 20/02/2007, 17h00
  5. permutations/combinaisons sur des tableaux dynamiques
    Par pEAk230 dans le forum Langage
    Réponses: 5
    Dernier message: 19/04/2006, 13h18

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