BlueGEEK Journal

Accueil > Manip’s > Delphi > Composants / Librairies > Créer un composant > 2- Lecon 1 : Comment créer un composant Delphi ?

-2- Lecon 1 : Comment créer un composant Delphi ?

dimanche 22 juin 2008, par bluegyn_spip

- Nous allons nous contenter

  • de Construire
  • Puis de Détruire ce composant

- L’initialisation des valeurs se faisant durant l’étape de construction

  • La construction d’un composant se fait par le truchement de l’instruction

CONSTRUCTOR

- Qui est l’équivalent du FormCreate au niveau d’une fiche

  • Et qui correspond
    • à la mise en place
    • Et à l’initialisation des éléments qui la constitue.

- La Destruction d’un composant se fait par le truchement de l’instruction

DESTRUCTOR

- Qui est l’équivalent du FormClose au niveau d’une fiche

  • Ce qui ferme tout ce qui est ouvert et rend les ressources au système

- Constructeur & Destructeur

  • Se déclarent dans la partie PUBLIC de l’interface
  • Et se développent dans la partie IMPLÉMENTATION

DECLARATIONS

- public

  • Constructor Create (Aowner : Tcomponent) ; override ;
  • Destructor Destroy ; override ;

- L’instruction OVERRIDE (surcharge) est nécessaire, car le composant Ancêtre Tlabel, est déjà construit et déclaré ...

  • Cet artifice permet au programmeur d’utiliser les mêmes attributs que l’ancêtre pour des actions différentes de l’héritier.

- Aowner est un Nom Arbitraire Conventionnel, il correspond au conteneur principal

  • ici la Fiche (ou form1)

- Mais peut il prendre n’importe qu’elle valeur.

DÉVELOPPEMENT


Constructeur

- Constructor T_Hello.Create( AOwner : Tcomponent ) ;

- Begin

  1. inherited Create (Aowner ) ;
  1. Caption := ’Hello’ ;

- End ;

  1. L’instruction INHERITED déclare que l’enfant est la copie conforme de son parent
  1. Lors de la création de ce nouveau label, on décide que par défaut l’étiquette contiendra la valeur "BONJOUR".
  • Mais cette valeur est modifiable, puisque le caption hérité de Tlabel l’est aussi.

Destructeur

- Destructor T_hello.Destroy ;

- Begin

  • inherited Destroy ;

- End ;

- Une seule instruction qui rompt la filiation


Tout le code

_HELLO.PAS