[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'System' (#rtl)

# TInterfacedObject

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

TObject descendent implementing the IUnknown interface

## Declaration

Source position: objpash.inc line 282

`type TInterfacedObject = class(TObject, IUnknown)`
`public`
`procedure AfterConstruction; override;` |  | Handle reference count properly.
`procedure BeforeDestruction; override;` |  | Check reference count.
`class function NewInstance; override;` |  | Create a new instance
`property RefCount: LongInt; [r]` |  | Return the current reference count
`end;`

## Inheritance

`TInterfacedObject,IUnknown` |  | TObject descendent implementing the IUnknown interface
`TObject` |  | Base class of all classes.

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

## See also

IUnknown |  | Basic interface for all COM-based interfaces
TObject |  | Base class of all classes.

Documentation generated on: Feb 26 2014