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. |