Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Interface + (Record)Operatoren [MiniMathLib]

  Alt 1. Feb 2009, 13:30
Zitat von himitsu:
... die Referenzzählung simd so oder so nicht.
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:
Delphi-Quellcode:
    IOperatorInterface = Interface(IUnknown) // von IUnkown erben
    ['{36BE8FFE-9DAE-456E-894F-8DBD1520549D}']
// Function QueryInterface(Const IID: TGUID; Out Obj): HResult; StdCall; // wird schon in IUnknown deklariert
// Function _AddRef: Integer; StdCall;
// Function _Release: Integer; StdCall;

      Function CreateInstance: IOperatorInterface;
      Function GetType: TOperatorClass;
      Function GetObject: TOperatorObject;
Damit hast du die Referenzzählung komplett an die Klasse IInterfacedObject abgegeben.
  Mit Zitat antworten Zitat