System.Win.ComObj.TComObjectFactory

De RAD Studio API Documentation
Aller à : navigation, rechercher

System.TObjectTComObjectFactory

Delphi

TComObjectFactory = class(TObject, IUnknown, IClassFactory, IClassFactory2)

C++

class PASCALIMPLEMENTATION TComObjectFactory : public System::TObject

Propriétés

Type Visibilité  Source Unité  Parent
class public
System.Win.ComObj.pas
System.Win.ComObj.hpp
System.Win.ComObj System.Win.ComObj

Description

TComObjectFactory est le type des objets fabricants de classe utilisés pour instancier une classe TComObject.

TComObjectFactory gère les interfaces IUnknown, IClassFactory et IClassFactory2. L'interface IClassFactory est implémentée par les objets classe associés avec des identificateurs de classe (CLSID) pour les classes qu'ils instancient. IClassFactory doit être implémentée pour chaque définition d'objet afin que les objets de ce type puissent être créés. L'interface IClassFactory2 est implémentée par les fabriques de classes des classes qui doivent gérer la cession de licence.

Les fabricants de classe instancient les classes COM spécifiées par un identificateur de classe recensée (CLSID). Les objets fabricant de classe sont créés automatiquementpar les serveurs COM contenant le code pour les objets classe et leurs classes associées. Quand un fabricant de classe est créé, le CLSID est spécifié dans un paramètre du constructeur de l'objet fabricant de classe. Ce CLSID indique le type d'objet dont le fabricant de classe crée des instances.

Les objets fabricant de classe peuvent également être instanciés de manière externe en appelant directement la fonction CoCreateClassObject de l'API Windows. Les fonctions CreateComObject et CreateOleObject peuvent également être utilisées pour instancier une classe COM. Ces fonctions utilisent indirectement les fabricants de classe pour instancier les classes. Pour créer plusieurs instances d'une classe disposant d'un CLSID, il est cependant plus efficace d'utiliser un fabricant de classe pour obtenir un pointeur sur son interface IClassFactory et d'en utiliser les méthodes quand c'est nécessaire.

Les fabricants de classe sont gérés au niveau du serveur par un gestionnaire de classe global dont l'accès s'effectue par la fonction ComClassManager. Ce gestionnaire de classe gère une liste des fabricants de classe au travers de laquelle les fabricants sont manipulés, généralement en fonction du serveur COM qui les possède.

IUnknown, IClassFactory, IClassFactory2

Voir aussi