System.Win.ComObj.TComObject

De RAD Studio API Documentation
Aller à : navigation, rechercher

System.TObjectTComObject

Delphi

TComObject = class(TObject, IUnknown, ISupportErrorInfo)

C++

class PASCALIMPLEMENTATION TComObject : 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

TComObject est la classe de base pour la création de classes COM simples comme celles utilisées pour créer des extensions du Shell.

TComObject est un objet COM gérant les interfaces IUnknown et ISupportErrorInfo. TComObject propose l'implémentation d'objets COM simples qui disposent :

D'un identificateur de classe (CLSID) pour l'instanciation externe par un fabricant de classe.

De la gestion facultative de l'agrégation implémentée via les méthodes de IUnknown.

De la gestion de la convention d'appel SafeCall et des exceptions OLE en implémentant IProvideErrorInfo.

De la gestion du mécanisme IErrorInfo.

TComObject peut être utilisée comme classe de base pour créer des classes d'objet COM devant disposer d'un identificateur de classe (CLSID). Les CLSID sont utilisés pour recenser la classe dans la base de données des registres et pour instancier de manière externe la classe en utilisant un fabricant de classe. TComObjectFactory est la fabricant de classe de TComObject. Les propriétés du fabricant de classe proposent des informations sur la classe TComObject (nom, description, CLSID, etc.). Les méthodes de TComObjectFactory sont utilisées pour instancier la classe TComObject et la recenser dans les registres système.

TComObject peut être instancié comme un simple objet COM ou comme partie d'un agrégat. Les méthodes IUnknown sont implémentées dans TComObject pour gérer l'agrégation en déléguant de manière appropriée à l'interface contrôleur IUnknown quand l'objet COM instancié est l'objet interne d'un agrégat. De ce fait, pour toutes les interfaces implémentées dans l'objet COM interne, le compteur de références n'est pas directement affecté quand une référence d'interface est créée.

TComObject gère les interfaces ISupportErrorInfo qui permettent aux contrôleurs OLE Automation de demander si un objet erreur est disponible et garantit que les informations sur l'erreur seront correctement répercutées en remontant la chaîne des appels. En implémentant la méthode InterfaceSupportsErrorInfo de l'interface ISupportErrorInfo, TComObject gère le mécanisme IErrorInfo, et permet l'utilisation du mécanisme de gestion des exceptions OLE et de la convention d'appel safecall. Les informations disponibles via l'interface IErrorInfo sont utilisées par la gestion des erreurs SafeCall.

L'utilisation de TComObject n'oblige pas les objets instanciés à disposer d'une bibliothèque de types.

InterfaceSupportsErrorInfo

Voir aussi