Einzelnen Beitrag anzeigen

Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#26

AW: ZIP File names memory leak

  Alt 8. Jun 2020, 15:49
@Moombas
Ändert nichts, das Free wird ja so oder so aufgerufen.
Wenn ich mich nicht irre, ist deine Aussage nicht richtig. Es wird nur mit aufgerufen, wenn es vorher keinen "Fehler" (Exception) gab.
Wenn du es in einem try...finally Block packst wird es jedoch definitiv immer ausgeführt: https://de.wikibooks.org/wiki/Progra...rwendet%20wird.

Korrigiert mich wenn ich da nun etwas falsch verstanden habe.
Korrekt, das Free wird nur aufgerufen wenn es im finally-Block steht. Ohne Exception-Handling (also ohne try...finally) wird das Free nicht aufgerufen.
Sorry, aber das stimmt nicht: Der Finally...End; - Block wird regulär immer ausgeführt, nur dann nicht, wenn die Routine vor dem Try durch eine Exit-Anweisung verlassen wird. Wenn zwischen dem Try ... Finally - Block ein Fehler passiert, dann wird der Finally...End; - Block auf jeden Fall noch ausgeführt, bevor die Routine beendet wird.
Gruß, Andreas
So war es gemeint

Habe mich wohl missverständlich ausgedrückt.
Michael Kübler
  Mit Zitat antworten Zitat