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 :

Création dynamique de composants et destruction


Sujet :

Composants VCL Delphi

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 298
    Points : 318
    Points
    318
    Par défaut Création dynamique de composants et destruction
    Dans un programme, je fais des creations dynamiques de fiches auquel j'ajoute des composants (labels, bouton,...) crées à l'execution, j'aurais besoin d'une confirmation sur la destruction des composants :

    Est ce qu'il faut obligatoirement détruire ces composants (ce qui semble logique) avant de détruite la fiche ou est-ce fait automatiquement à la destruction de la fiche ?

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    Il me semble que le propriétaire (la fiche) détruit les compos...
    Citation Envoyé par Aide Delphi
    Lorsque vous appelez Free pour un composant, Free est appelée pour tous les composants qu'il possède, c'est-à-dire, tous les composants de sa liste de composants
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  3. #3
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 593
    Points
    593
    Par défaut
    je suis de ton avis qi130.
    Donc à la création des objets il faudra faire gaffe au propriétaire en générale dans la création :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        UnObjet := TUnObjet.Create(Propriétaire);
    La déstruction du propriétaire va entrainer une destruction automatique des objets.
    <On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison> **Poincaré**

  4. #4
    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 des cas...

    Si tu crées le composant avec un propriétaire, il se détruira tout seul à la destruction du propriétaire. Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      // MonCompoMere est propriétaire de CompoInterne
      CompoInterne := TCompoInterne.Create(MonCompoMere);
      // peut être modifié avec la propriété Owner
    Si tu le crées sans propriétaire, il est nécessaire de le détruire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      // CompoInterne est construit sans propriétaire
      CompoInterne := TCompoInterne.Create(nil);
     
    .....
    .....
     
      // détruit le composant CompoInterne
      CompoInterne.Release;
    a+
    CV :
    - LinkedIn
    - Viadeo

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 298
    Points : 318
    Points
    318
    Par défaut
    Je les crée avec la fiche comme propriétaire.

    c'est cool, ça me permet de ne pas trimabler des variables qui ne servent qu'une fois

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

Discussions similaires

  1. accélérer la création dynamique de composants
    Par Melodie dans le forum Débuter
    Réponses: 14
    Dernier message: 16/04/2009, 17h34
  2. Création dynamique de composants
    Par tsikpemoise dans le forum JSF
    Réponses: 3
    Dernier message: 01/12/2008, 17h30
  3. création dynamique de composants et jscrollbar
    Par restricteur dans le forum AWT/Swing
    Réponses: 15
    Dernier message: 12/09/2007, 16h18
  4. Création dynamique de composants
    Par persam dans le forum Delphi
    Réponses: 3
    Dernier message: 09/01/2007, 10h58
  5. Réponses: 3
    Dernier message: 16/05/2006, 16h24

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