System.Win.ComObj.TComObjectFactory.RegisterClassObject

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

procedure RegisterClassObject;

C++

void __fastcall RegisterClassObject();

Propriétés

Type Visibilité  Source Unité  Parent
procedure
function
public
System.Win.ComObj.pas
System.Win.ComObj.hpp
System.Win.ComObj TComObjectFactory

Description

Recense la classe COM associée à l'objet fabricant de classe.

La méthode RegisterClassObject recense un objet classe EXE dans OLE afin que des applications puissent se connecter à lui. Les applications objet EXE doivent appeler RegisterClassObject au démarrage. Cette méthode peut également être utilisée pour recenser des objets internes utilisés par le même EXE ou par du code (comme des DLL) utilisé par l'EXE.

Si RegisterClassObject échoue, une exception EOleSysError est déclenchée avec les codes d'erreurs possibles suivants :



Valeur Signification

E_INVALIDARG

Un ou plusieurs arguments sont incorrects.

E_OUTOFMEMORY

Mémoire insuffisante.

E_UNEXPECTED

Erreur inattendue

CO_E_OBJISREG

La classe a déjà été recensée dans la table des objets classe.



Seuls les objets application EXE appellent RegisterClassObject. Les gestionnaires d'objet ou les objets application DLL n'appellent pas cette fonction. Ils doivent à la place implémenter et exporter la fonction DllGetClassObject.

Au démarrage, un objet application EXE à usages multiples doit créer un objet classe (avec l'interface IClassFactory), et appeler RegisterClassObject pour recenser l'objet classe. Les applications objet gérant plusieurs classes différentes (par exemple, plusieurs types d'objets incorporables) doivent allouer et recenser un objet classe pour chacun.

Plusieurs recensements d'un même objet classe sont indépendants et ne déclenchent pas d'erreur. Chaque recensement successif génère une clé unique.

Voir aussi