Code généré par l'importation des informations d'une bibliothèque de types
Remonter à Création de clients COM - Index
Une fois une bibliothèque de types importée, vous pouvez visualiser l'unité NomBibTypes_TLB générée. En haut, vous trouverez les éléments suivants :
1. Tout d'abord, les déclarations des constantes donnant des noms symboliques aux GUIDS de la bibliothèque de types, ses interfaces et ses CoClasses. Les noms de ces constantes sont générés comme suit :
- Le GUID de la bibliothèque de types de la forme LBID_NomBibTypes, où NomBibTypes est le nom de la bibliothèque de types.
- Le GUID d'une interface a la forme IID_NomInterface, où NomInterface est le nom de l’interface.
- Le GUID d’une dispinterface a la forme DIID_NomInterface, où NomInterface est le nom de la dispinterface.
- Le GUID d'une CoClasse a la forme CLASS_NomClasse, où NomClasse est le nom de la CoClasse.
- La directive de compilation VARPROPSETTER est activée. Ce qui vous permet d'utiliser le mot clé var dans la liste de paramètres des méthodes d'accesseur en écriture (setter) des propriétés. Cela désactive l'optimisation de la compilation qui entraînerait la transmission des paramètres par valeur plutôt que par référence. La directive VARPROPSETTER doit être activée lors de la création d'unités TLB pour des composants écrits dans un langage autre que Delphi.
2. Deuxièmement, des déclarations des CoClasses de la bibliothèque de types. Elles mappent chaque CoClasse sur son interface par défaut.
3. Troisièmement, des déclarations pour les interfaces et dispinterfaces de la bibliothèque de types.
4. Quatrièmement, des déclarations pour une classe créateur pour chaque CoClasse dont l’interface par défaut supporte la liaison VTable. La classe créateur a deux méthodes de classe, Create et CreateRemote, qui peuvent être utilisées pour instancier la CoClasse localement (Create) ou à distance (CreateRemote). Ces méthodes renvoient l’interface par défaut de la CoClasse.
Ces déclarations fournissent ce qu'il faut pour créer des instances de la CoClasse et accéder à son interface. Il vous faut ajouter le fichier NomBibTypes_TLB.pas généré à la clause uses de l'unité dans laquelle vous voulez effectuer la liaison à une CoClasse et appeler ses interfaces.
Remarque : Cette portion de l’unité NomBibTypes_TLB est également générée quand vous utilisez l'éditeur de bibliothèques de types ou l'utilitaire en ligne de commande TLIBIMP.
Si vous voulez utiliser un contrôle ActiveX, vous avez également besoin du wrapper VCL généré en plus des déclarations décrites ci-dessus. Le wrapper VCL gère les problèmes de gestion des fenêtres pour le contrôle. Vous pouvez également avoir généré un wrapper VCL pour d'autres CoClasses dans la boîte de dialogue Importation de bibliothèque de types. Ces wrappers VCL simplifient la tâche de création d'objets serveur et d'appel de leurs méthodes. Ils sont particulièrement recommandés si vous voulez que votre application client réponde aux événements.
Les déclarations pour les wrappers VCL générés apparaissent en bas de la section interface. Les wrappers de composants des contrôles ActiveX sont des descendants de olectrls.TOleControl. Les wrappers de composants des objets Automation descendent de Vcl.OleServer.TOleServer. Le wrapper de composant généré ajoute les propriétés, méthodes et événements exposés par l'interface de la CoClasse. Vous pouvez utiliser ce composant comme tout autre composant VCL.
Avertissement : Vous ne devez pas modifier l'unité NomBibTypes_TLB générée. Elle est régénérée à chaque actualisation de la bibliothèque de types, ce qui écrase toutes les modifications.
Remarque : Pour obtenir les informations les plus à jour sur le code généré, reportez-vous aux commentaires de l'unité NomBibTypes_TLB générée automatiquement.