System.Win.ComObj.TComObject

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

System.TObjectTComObject

Delphi

TComObject = class(TObject, IUnknown, ISupportErrorInfo)

C++

class PASCALIMPLEMENTATION TComObject : public System::TObject

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
class public
System.Win.ComObj.pas
System.Win.ComObj.hpp
System.Win.ComObj System.Win.ComObj

Beschreibung

TComObject ist die Basis für die Erzeugung einfacher COM-Klassen, zum Beispiel für Shell-Erweiterungen.

TComObject ist ein COM-Objekt, das die Schnittstellen IUnknown und ISupportErrorInfo unterstützt. TComObject ermöglicht die Implementierung einfacher COM-Objekte mit folgenden Merkmalen:

Klassenbezeichner (CLSID) für die externe Instantiierung mit einem Klassengenerator.

Optionale Unterstützung von Aggregatobjekten, die mit den Methoden von IUknown implementiert werden.

Unterstützung der Aufrufkonvention safecall sowie OLE-Exception-Handling durch die Implementierung von IProvideErrorInfo.

Unterstützung des IErrorInfo-Mechanismus.

TComObject kann als Basis für die Erzeugung von COM-Objektklassen verwendet werden, die einen Klassenbezeichner (CLSID) besitzen müssen. CLSIDs werden für die Registrierung der Klasse und für die externe Instantiierung der Klasse mit einem Klassengenerator benötigt. Der Klassengenerator für TComObject ist TComObjectFactory. Die Eigenschaften des Klassengenerators liefern Informationen über die Klasse TComObject, wie etwa den Namen, die Beschreibung, die CLSID usw. Mit den Methoden von TComObjectFactory wird TComObject instantiiert und in der Registrierdatenbank registriert.

TComObject kann entweder als einfaches COM-Objekt instantiiert werden oder als Teil eines Aggregatobjekts. Die Methoden von IUnknown sind in TComObject zur Unterstützung der Aggregatbildung implementiert. Dabei wird die Steuerung an eine bestimmte IUnknown-Schnittstelle übertragen, wenn das instantiierte COM-Objekt das innere Objekt eines Aggregatobjekts ist. Als Konsequenz daraus wird der Referenzzähler für alle Schnittstellen, die vom COM-Objekt implementiert werden, nicht direkt gesetzt, wenn eine Schnittstellenreferenz erzeugt wird.

TComObject unterstützt die Schnittstelle ISupportErrorInfo. Diese ermöglicht es OLE-Automatisierungs-Controllern zu ermitteln, ob ein Fehlerobjekt verfügbar ist und ob Fehlerinformationen über die Aufrufkette korrekt weitergegeben werden können. Mit der Implementierung der Schnittstellenmethode InterfaceSupportsErrorInfo von ISupportErrorInfo unterstützt TComObject den IErrorInfo-Mechansimus. Die über IErrorInfo verfügbaren Informationen dienen zur Fehlerbehandlung im Zusammenhang mit der Aufrufkonvention safecall.

Der Einsatz von TComObject bringt mit sich, dass das instantiierte Objekt keine Typbibliothek besitzen muss.

Methode InterfaceSupportsErrorInfo

Siehe auch