@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