Forum: Object-Pascal / Delphi-Language
Delphi
by sx2008,
1. Feb 2009
Du musst deine Basisklasse von TInterfacedObject ableiten.
Diese Klasse implementiert _AddRef, _Release und QueryInterface.
Diese Methoden sollen und dürfen dann nicht in deinem Sourcecode auftauchen.
Die Deklaration deines Interface sieht dann so aus:
IOperatorInterface = Interface(IUnknown) // von IUnkown erben
// Function QueryInterface(Const IID: TGUID; Out Obj):...
Forum: Object-Pascal / Delphi-Language
Delphi
by sx2008,
1. Feb 2009
_AddRef und _Release sollten nur in der Basisklasse TOperatorObject vorhanden sein.
Daher brauchen diese Funktionen auch nicht virtuell zu sein.
TSmallInteger = Class(TOperatorObject)
Protected
Function _AddRef: Integer; Override; StdCall; // weg
Function _Release: Integer; Override; StdCall; // weg