Einzelnen Beitrag anzeigen

martin_

Registriert seit: 19. Mai 2008
Ort: Österreich
89 Beiträge
 
#1

Objektfreigabe bei Interface

  Alt 27. Apr 2011, 15:18
Delphi-Version: 2006
Hallo,
ich verwende ein
IAuto = Interface(IInterface) und
TAuto = class(TInterfacedPersistent,IAuto) und
Form = class(TForm) .
In der Form
Delphi-Quellcode:
myIAuto = IAuto;
myTAuto = TAuto
wird das Interface mit
Delphi-Quellcode:
myTAuto := TAuto.create;
myIAuto := myTAuto;
erzeugt und mit
Delphi-Quellcode:
myIAuto := nil;
myTAuto.free;
freigegeben.
Der Code funktioniert auch.
Leider funktioniert bei der Abkürzung mit
myIAuto := TAuto.create; und myIAuto := nil; die Freigabe von TAuto nicht.
Bei der Verwendung von TInterfacedPersistent muss ich mich selbst um die Freigabe der Objekte kümmern. TInterfacedObject würde das für mich erledigen. Dh. gibt es sonst eine Möglichkeit, wenn das Interface "freigegeben" wird das sich auch die Objekte automatisch freigeben.
  Mit Zitat antworten Zitat