Expert Contrôle ActiveX ou Fiche Active

De RAD Studio
Aller à : navigation, rechercher

Remonter à Menu Fichier

Fichier > Nouveau > Autre > <personnalité> > ActiveX > Fiche Active

Fichier > Nouveau > Autre > <personnalité> > ActiveX > Contrôle ActiveX

  • Utilisez l'expert Fiche Active pour ajouter une fiche Active à un projet bibliothèque ActiveX.
  • Utilisez l'expert Contrôle ActiveX pour créer un contrôle ActiveX à partir d'un contrôle VCL que vous spécifiez. Les propriétés, méthodes et événements du contrôle VCL deviennent les propriétés, méthodes et événements du contrôle ActiveX que l'expert crée.

Remarque : Vous devez d'abord créer une Bibliothèque ActiveX avant de créer une fiche Active ou un contrôle ActiveX. Ces deux experts ne sont pas activés dans la liste Nouveaux éléments tant que vous n'avez pas créé une bibliothèque ActiveX (la création d'une bibliothèque ActiveX crée un projet DLL (Dynamic Link Library) que vous pouvez utiliser pour héberger des objets ActiveX en processus). Pour obtenir des instructions, voir Utilisation des experts COM.

Elément Description

Nom de CoClasse

Spécifiez le nom du contrôle que vous souhaitez implémenter. C'est le nom de CoClasse apparaissant dans la bibliothèque de types. La classe d'implémentation générée porte le même nom précédé de la lettre 'T'.

Description

Fournissez une description facultative du composant que vous créez.

Modèle de thread

(voir des détails dans la section suivante)

Choisissez le modèle de thread pour indiquer comment COM sérialise les appels à l'interface de votre fiche Active ou contrôle ActiveX. Le modèle de thread choisi détermine la façon dont le contrôle est enregistré. Vous devez vous assurer que votre implémentation adhère au modèle sélectionné. L'expert spécifie toujours Apartment en tant que modèle de thread. Cela ne pose pas de problème si votre projet ActiveX ne contient qu'un seul contrôle. Cependant, si vous ajoutez d'autres contrôles à votre projet, c'est à vous d'assurer la gestion des threads.

Nom du composant

Utilisez la liste déroulante pour sélectionner le composant VCL que vous voulez utiliser comme ancêtre du contrôle ActiveX que vous créez. Pour une fiche Active, le composant est toujours TActiveForm.

Interface

Indique le nom de l'interface par défaut du contrôle. Par défaut, l'interface du contrôle porte le même nom que la CoClasse, précédé de la lettre 'I'.

Informations de version

Vous pouvez inclure dans le contrôle des informations de version, comme le copyright ou une description du fichier. Ces informations peuvent être visualisées dans un navigateur. Certains clients hôtes comme Visual Basic 4.0 exigent des informations de version pour héberger le contrôle. Vous pouvez spécifier les informations de version en choisissant Projet > Options et en sélectionnant la page Informations de version.


Modèle de thread

Les contrôles ActiveX peuvent utiliser les modèles de thread suivants :

Modèle Description

Unique

Un seul thread client peut être servi à la fois. COM sérialise tous les appels entrants pour imposer cela. Votre code n'a pas besoin du support des threads.

Apartment

Chaque contrôle instancié par un client est accédé par un seul thread à la fois. Vous devez empêcher l'accès de plusieurs threads à la mémoire globale, mais les objets peuvent accéder en toute sécurité à leurs propres données d'instance (propriétés d'objet et membres).

Libre

Chaque instance d'un contrôle peut être appelée par plusieurs threads en même temps. Vous devez protéger les données d'instance ainsi que la mémoire globale.

Les deux

Ceci est identique au modèle Libre, mais tous les callbacks fournis par les clients sont garantis de s'exécuter dans le même thread. Cela signifie que vous n'avez pas à protéger les valeurs fournies comme paramètres aux fonctions callback.

Neutre

Plusieurs clients peuvent appeler le contrôle sur différents threads en même temps, mais COM assure qu'il n'y a pas de conflit entre deux appels. Vous devez éviter les conflits de threads impliquant des données globales et toutes les données d'instance accédées par plus d'une méthode. Ce modèle ne doit pas être utilisé avec des objets ayant une interface utilisateur. Ce modèle est disponible uniquement sous COM+. Sous COM, il est mappé sur le modèle Apartment.



Voir aussi