Expert Objet Automation ou Objet ASP

De RAD Studio
Aller à : navigation, rechercher

Remonter à Menu Fichier

Fichier > Nouveau > Autre > Projets C++Builder > ActiveX


Fichier > Nouveau > Autre > Projets Delphi > ActiveX

Utilisez l'expert Nouvel objet Automation ou Objet ASP pour ajouter un objet serveur Automation ou serveur ActiveX à un projet Bibliothèque ActiveX. Afin d'ouvrir l'expert, une bibliothèque ActiveX doit être ouverte. L'expert crée une bibliothèque de types et la définition de l'objet Automation.

Vous pouvez recenser votre objet Automation par utilisateur ou pour tous les utilisateurs. Pour de plus amples informations, voir Recensement d'un objet COM et Recensement des serveurs ActiveX pour l'utilisateur en cours.

Elément Description

Nom de CoClasse

Spécifiez la classe dont vous voulez exposer les propriétés et les méthodes aux applications client. (Delphi ajoute un T au début de ce nom.)

Instanciation

Spécifiez un mode d'instanciation pour indiquer comment lancer votre serveur Automation.

Modèle de thread

Choisissez le modèle de thread pour indiquer comment COM sérialise les appels à l'interface de votre objet Automation. Le modèle de thread choisi détermine la façon dont l'objet est recensé. Vous devez vous assurer que l'implémentation de votre objet adhère au modèle sélectionné.

Générer le code de prise en charge des événements

Cochez cette case pour indiquer à l'expert d'implémenter une interface distincte pour la gestion des événements de votre objet Automation. L'interface distincte porte le nom ICoClassNameEvents, et définit les gestionnaires d'événements devant être implémentés par le client. Votre application n'implémente pas cette interface.


La liste déroulante Instanciation peut avoir l'un des types d'instanciation suivants :

Instanciation Signification

Interne

L'objet peut seulement être créé en interne. Une application externe ne peut pas créer directement une instance de l'objet.

Instance unique

Autorise seulement une interface COM unique pour chaque exécutable (application). Ainsi, la création de plusieurs instances entraîne le lancement de plusieurs instances de l'application.

Instance multiple

Spécifie que plusieurs clients peuvent se connecter à l'application. Chaque fois qu'un client demande l'objet, une instance distincte est créée dans un espace de processus unique. (C'est-à-dire qu'il peut y avoir plusieurs instances dans un même exécutable.)


Remarque : Sous COM+, la sérialisation des appels à votre objet est aussi influencée par la façon dont il participe aux activités. Ceci est configurable en utilisant la page COM+ de l'éditeur de bibliothèques de types ou le gestionnaire de composants COM+.

La liste déroulante Modèle de thread peut avoir l'une des valeurs suivantes :

Modèle de thread Signification

Unique

Les clients sont pris en charge un par un. Ainsi, aucune prise en charge des threads n'est nécessaire.

Apartment

Un seul thread client peut appeler l'objet à la fois. Tous les appels client utilisent le thread dans lequel l'objet a été créé. Vous devez protéger les données globales en utilisant des sections critiques ou une autre forme de sérialisation.

Libre

Chaque instance d'objet peut être appelée par plusieurs threads simultanément. Vous devez protéger les données d'instance ainsi que la mémoire globale.

Les deux

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

Neutre

Plusieurs clients peuvent appeler l'objet 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 seulement disponible sous COM+. Sous COM, il est mappé sur le modèle Apartment.


Remarque : Sous COM+, la sérialisation des appels à votre objet est aussi influencée par la façon dont il participe aux activités. Ceci est configurable en utilisant la page COM+ de l'éditeur de bibliothèques de types ou le gestionnaire de composants COM+.

Voir aussi