TInterfacedObjectList = class(TInterfaceList);
TInterfacedObject = class(TInterfacedObject) end;
TInterfacedObject = class(TObject, IUnknown) protected FRefCount: Integer; function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall; function _AddRef: Integer; stdcall; function _Release: Integer; stdcall; public procedure AfterConstruction; override; procedure BeforeDestruction; override; class function NewInstance: TObject; override; property RefCount: Integer read FRefCount; end;
TInterfaceList CommonTypes.TInterfacedObjectList