System.Win.ComObj.TComObjectFactory.RegisterClassObject

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

procedure RegisterClassObject;

C++

void __fastcall RegisterClassObject();

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
procedure
function
public
System.Win.ComObj.pas
System.Win.ComObj.hpp
System.Win.ComObj TComObjectFactory

Beschreibung

Registriert die mit dem Klassengenerator verbundene COM-Klasse.

RegisterClassObject registriert ein EXE-Klassenobjekt für OLE, damit andere Anwendungen eine Verbindung zu ihm herstellen können. EXE-Objektanwendungen sollten RegisterClassObject beim Start aufrufen. RegisterClassObject kann auch zur Registrierung interner Objekte für den Einsatz in derselben EXE-Anwendung bzw. einem von der EXE-Anwendung benutzten anderen Programm (z.B. einer DLL) eingesetzt werden.

Wenn RegisterClassObject fehlschlägt, wird eine EOleSysError-Exception ausgelöst. Ein Fehlercode weist auf die Ursache des Fehlers hin:



Wert Bedeutung

E_INVALIDARG

Mindestens ein Argument ist ungültig.

E_OUTOFMEMORY

Nicht genügend Speicher.

E_UNEXPECTED

Ein unerwarteter Fehler ist aufgetreten.

CO_E_OBJISREG

Die Klasse war bereits in der Klassenobjekttabelle registriert.



RegisterClassObject kann nur von EXE-Objektanwendungen aufgerufen werden. Objektbehandlungsroutinen oder DLL-Objektanwendungen rufen diese Funktion nicht auf. Stattdessen implementieren und exportieren die Funktion DllGetClassObject.

Beim Start muss eine mehrfach eingesetzte EXE-Objektanwendung ein Klassenobjekt erzeugen (mit der Schnittstelle IClassFactory) und zur Registrierung des Klassenobjekts die Methode RegisterClassObject aufrufen. Objektanwendungen, die verschiedene Klassen unterstützen (z.B. unterschiedliche Arten von Objekten, die eingebettet werden können), müssen für jede Klasse ein eigenes Klassenobjekt zuweisen und registrieren.

Wenn für ein Klassenobjekt mehrere Registrierungen existieren, sind diese unabhängig voneinander und führen nicht zu einem Fehler. Jede nachfolgende Registrierung liefert einen eindeutigen Schlüssel.

Siehe auch