Einzelnen Beitrag anzeigen

Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#24

AW: ZIP File names memory leak

  Alt 8. Jun 2020, 14:25
@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
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)

Geändert von Andreas13 ( 8. Jun 2020 um 15:21 Uhr)
  Mit Zitat antworten Zitat