Einzelnen Beitrag anzeigen

QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.884 Beiträge
 
Delphi 12 Athens
 
#1

Interface Referenzzählung

  Alt 4. Jun 2009, 11:39
Hallo liebe Delphianer,
ich habe gestern zu meinem Entsetzen festgestellt das die Referenzzählung von Objekten die ein IInterface implementieren
NICHT gestartet wird wenn man sie einer Objectvariable zuweist. bzw. diese wieder freigibt...

Also
Delphi-Quellcode:
Programm bla;
uses
  alles;

type
  IMyinterface = Interface(IInterface)
   bla
  end;

  TMyInterfacedObject= class(Tinterfacedobject, IMyInterface)
    bla
  end;

var meinObjekt: TMyInterfacedObject;
    meinInterface: IMyInterface;

Begin
  meinObject := TMyInterfacedobject.create;
  meinInterface := TMyInterfacedobject.create;
end;
Bei Programm ende wird nur der destruktor von MeinInterface aufgerufen nicht aber der von MeinObject.

1. Wieso?
2. Kann ich das Ändern?
3. Was passiert bei Typecasts Classe zu Interface, Interface zu classe, kommt die Refernzzählung dann durcheinander?
4. ...äh..scheiße nochmal, warum geht das bei MeinObject nicht....
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat