Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.029 Beiträge
Delphi 10.4 Sydney
|
AW: ZIP File names memory leak
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
|