Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
Delphi 10.4 Sydney
|
AW: TInterfacedObject wird nicht freigegeben
19. Mär 2014, 15:03
Du hast da noch was vergessen
Delphi-Quellcode:
TMyClass = class( TInterfacedObject )
end;
var
MyInstance : TMyClass;
MyInterface : IInterface;
// das geht
MyInstance := TMyClass.Create;
MyInstance.Free;
// das knallt
MyInstance := TMyClass.Create;
MyInterface := MyInstance; // Referenz-Zähler auf 1
MyInterface := nil; // Referenz-Zähler auf 0 => Instanz wird freigeben
MyInstance.Free; // rumms
Wer sowas macht hat es auch nicht anders verdient!
|