Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Konvertieren eines TBitmap zu einem TPngImage tut später komische Dinge

  Alt 10. Dez 2014, 11:51
Gar nicht, das macht der interface-referenzierte Speicherwächter.

Beispiel:
Delphi-Quellcode:
procedure noMemLeakHere();
var
   memGuard: IMemGuard;
   myLocalObject: TObject;
begin
   myLocalObject := TObject.Create();
   TMemGuard.Guard(memGuard, myLocalObject);

   // Wilde Dinge geschehen jetzt...

   // Wilde Dinge enden jetzt...
end;
Wenn eine Exception auftritt wird geht der Referenzzähler von memGuard auf Null und er wird abgeräumt. Und in seinem Destruktor zerstört er auch myLocalObject .

Schau dir das Video am besten mal an, ist Schritt für Schritt super erklärt
  Mit Zitat antworten Zitat