Redéfinition du constructeur

De RAD Studio
Aller à : navigation, rechercher

Remonter à Modification de l'objet composant

Lorsque vous placez un composant dans une fiche au moment de la conception ou lorsqu'une application en cours d'exécution construit un composant, le constructeur du composant définit les valeurs des propriétés. Quand un composant est chargé depuis un fichier fiche, l'application définit toutes les propriétés qui ont été modifiées lors de la conception.

Remarque :  Lorsque vous redéfinissez un constructeur, le nouveau constructeur doit appeler le constructeur reçu en héritage avant toute autre action. Pour plus d'informations, voir Redéfinition des méthodes.

Dans notre exemple, votre nouveau composant doit redéfinir le constructeur transmis en héritage par TMemo en attribuant la valeur False à la propriété WordWrap. Pour ce faire, ajoutez le constructeur redéfini à la prédéclaration, puis écrivez le nouveau constructeur dans la partie implementation de l'unité :



 type
   TWrapMemo = class(TMemo)
   public                                              { constructeurs toujours publics }
     constructor Create(AOwner: TComponent); override; { cette syntaxe est toujours identique }
   end;
 .
 .
 .
 constructor TWrapMemo.Create(AOwner: TComponent);     { ceci va après l'implémentation }
 begin
   inherited Create(AOwner);                           { Faire TOUJOURS ceci en premier ! }
   WordWrap := False;                                  { définir la nouvelle valeur désirée }
 end;



 class PACKAGE TYellowMemo : public TMemo
 {
 public:
     virtual __fastcall TYellowMemo(TComponent* Owner); // déclaration du constructeur
 __published:
     __property Color ;
 };
 __fastcall TYellowMemo::TYellowMemo(TComponent* Owner)
   : TMemo(Owner)                                // l'implémentation du constructeur...                                                  // ...commence par appeler le constructeur pour TMemo
 {
   Color = clYellow;                            // colore le composant en jaune
 }



Vous pouvez maintenant installer le nouveau composant dans la palette d'outils puis l'ajouter dans une fiche. Remarquez que la propriété WordWrap est dorénavant initialisée à False.

Si vous changez une valeur de propriété initiale, vous devez aussi désigner cette valeur comme étant celle par défaut. Si vous échouez à faire correspondre la valeur définie par le constructeur à celle spécifiée par défaut, Delphi ne peut pas stocker, ni restaurer la valeur correcte.