RAD Studio VCL Reference
ContentsIndex
PreviousUpNext
SysUtils.Supports Function

Indicates whether a given object or interface supports a specified interface.

Pascal
function Supports(const Instance: IInterface; const IID: TGUID; out Intf): Boolean; overload;
function Supports(const Instance: TObject; const IID: TGUID; out Intf): Boolean; overload;
function Supports(const Instance: IInterface; const IID: TGUID): Boolean; overload;
function Supports(const Instance: TObject; const IID: TGUID): Boolean; overload;
function Supports(const AClass: TClass; const IID: TGUID): Boolean; overload;
C++
Boolean Supports(const IInterface Instance, const TGUID IID,  Intf);
Boolean Supports(const TObject * Instance, const TGUID IID,  Intf);
Boolean Supports(const IInterface Instance, const TGUID IID);
Boolean Supports(const TObject * Instance, const TGUID IID);
Boolean Supports(const TClass AClass, const TGUID IID);

Call Supports to determine whether the object or interface specified by Instance, or the class specified by AClass, supports the interface identified by the IID parameter. If Instance supports the interface, Supports returns the interface as the Intf parameter and returns true. If AClass supports the interface, Supports does not return an interface, but still returns true. If the interface specified by IID is not supported, Supports returns false. 

On the Win32 platform, to determine whether the interface specified by IID is supported, Supports calls the QueryInterface method of the supplied interface (or the interface of the supplied object). However, unlike calling QueryInterface directly, Supports lets you pass a nil (Delphi) or NULL (C++) value as the instance. 

On the .NET platform, Supports uses the typecasting facilities of the .NET framework. 

 

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!