Sign in Join
FPDoc Onlineexperiment

TInterfacedObject class

In unit System

TObject descendent implementing the IUnknown interface.

Declaration

pascal
TInterfacedObject = class(TObject)

Inheritance

  1. TInterfacedObject
  2. TObject

Descends from it: TGuardian TInterfaceList TInterfaceThunk TMultiReadExclusiveWriteSynchronizer TSimpleRWSync TStreamAdapter

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

Properties

RefCountpublicReturn the current reference count.

Methods

QueryInterfaceprotected
_AddRefprotected
_Releaseprotected
DestroypublicDestroy interfaced object.
AfterConstructionpublicHandle reference count properly.
BeforeDestructionpublicCheck reference count.
NewInstancepublicCreate a new instance.

Fields

FRefCountprotected

Inherited

From TObject (38)

CheckDisposed ClassInfo ClassName ClassNameIs ClassParent ClassType CleanupInstance Create DefaultHandler DefaultHandlerStr Dispatch DispatchStr Disposed DisposeOf Equals FieldAddress Free FreeInstance GetDisposed GetHashCode GetInterface GetInterfaceByStr GetInterfaceEntry GetInterfaceEntryByStr GetInterfaceTable GetInterfaceWeak GetLastCastErrorInfo InheritsFrom InitInstance InstanceSize MethodAddress MethodName QualifiedClassName SafeCallException StringMessageTable SystemHasExtendedRTTI ToString UnitName

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.