Skip to content

TInterfacedObject

[Properties (by Name)][Methods (by Name)][Events (by Name)]

TObject descendent implementing the IUnknown interface

Declaration

Source position: objpash.inc line 301

Type
  TInterfacedObject = class (TObject, IUnknown)
  protected
    FRefCount : LongInt;
    FDestroyCount : LongInt;
    function QueryInterface(const iid: TGuid; out obj) : LongInt;
    function _AddRef : LongInt;
    function _Release : LongInt;
  public
    destructor Destroy;  Override;
    procedure AfterConstruction;  Override;
    procedure BeforeDestruction;  Override;
    class function NewInstance : TObject;  Override;
    RefCount : LongInt;
  end
  ;

Description

TInterfacedObject is a descendent of TObject which implements the IUnknown interface. It can be used as a base class for all classes which need reference counting.

Members

Member Type Visibility Description
AfterConstruction Method public Handle reference count properly.
BeforeDestruction Method public Check reference count.
Destroy Method public Destroy interfaced object
FDestroyCount Field protected
FRefCount Field protected
NewInstance Method public Create a new instance
QueryInterface Method protected
RefCount Property public Return the current reference count
_AddRef Method protected
_Release Method protected

Inheritance

Class Description
TInterfacedObject(IUnknown) TObject descendent implementing the IUnknown interface

See also

Name Description
IUnknown Basic interface for all COM-based interfaces
LongInt A signed 32-bits integer
LongInt A signed 32-bits integer
LongInt A signed 32-bits integer
TObject Base class of all classes.