Zitat von
Matze:
Zitat von
GuenterS:
Genau so ist es nicht mehr garantiert *g* Wenn die Stringlist warum auch immer nicht erzeugt ist, befindet man sich noch nicht im gesicherten Bereich, und kommt dann auch nicht in dieses finally.
Das finally kommt genrell, nur würde es dann krachen. Aber ich habe noch nie gehört, dass eine StringList nicht erstellt werden würde.
Das stimmt so aber nicht.
Delphi-Quellcode:
procedure Test;
var
i: integer;
lList: TList;
begin
i := 0;
lList.Add(@i); // <-- Verhängnisvolle Zeile
try
ShowMessage('TEST');
finally
ShowMessage('FINALLY');
end;
end;
Habe das gerade eben mal schnell mit TurboDelphi probiert, er kommt nicht zum ShowMessage('FINALLY');
Würde ich die verhängnissvolle Zeile innerhalb des Try Blockes machen schon.