Expert Contrôle ActiveX ou Fiche Active
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. |
(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
- Bibliothèque ActiveX
- Utilisation des experts COM
- Création d'un contrôle ActiveX
- Utilisation des contrôles ActiveX
- Génération d'un contrôle ActiveX à partir d'un contrôle VCL
- Génération d'une fiche active basée sur une fiche VCL
- Création d'une fiche active VCL ActiveX
- Création d'un bouton ActiveX Fiches VCL
- Choix d'un modèle de thread