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

Composants VCL Delphi Discussion :

Méthode Free d'un objet


Sujet :

Composants VCL Delphi

  1. #1
    Membre confirmé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Points : 512
    Points
    512
    Par défaut Méthode Free d'un objet
    Je me pose une question, quand on créé un objet qui lui même contient un ensemble d'objets créés dans le constructeur.

    Quand on appelle la méthode Free de cet objet, Delphi se charge-t-il tout seul de la destruction des objets inclus ou doit-on surcharger la méthode Free et supprimer les autres objets dans la surchage puis appeller inherited ?

    Merci pour votre réponse.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 45
    Points : 31
    Points
    31
    Par défaut
    tu dois surcharger la methode destroy, de la meme facon que tu surcharges la methode create

  3. #3
    Membre expert

    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2004
    Messages
    2 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 123
    Points : 3 256
    Points
    3 256
    Par défaut
    Cela dépend...

    Lors tu crées ton objet comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    obj := TMonObjet.Create(AOwner:TComponent)
    ton objet sera détruit automatiquement lorsque le composant précisé en AOwner appelera sa méthode Destroy.

    Sinon tu dois le détruire toi même lors du Destroy du composant AOwner.
    Par contre, je pense que release est plus adapté que free (mais je ne suis pas sur)
    CV :
    - LinkedIn
    - Viadeo

  4. #4
    Membre confirmé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Points : 512
    Points
    512
    Par défaut
    J'ai recherché dans la doc de Delphi et apparement release correspond aux TForm et non aux TComponent.

    Je pense que je vais me charger de la destruction des objets contenus, cela serra plus sûr, car je ne sais pas forcément qui serra l'Owner encore.

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

Discussions similaires

  1. Réponses: 25
    Dernier message: 25/04/2008, 15h23
  2. Réponses: 12
    Dernier message: 10/08/2006, 09h44
  3. [c#] Méthode d'accès aux objets de ma form1
    Par SDuh dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/03/2006, 11h21
  4. [VBA-E]La méthode 'Range' de l'objet '_Global' a échoué
    Par repié dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/02/2006, 16h00
  5. Réponses: 4
    Dernier message: 20/01/2006, 15h53

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