Damit "das" übersichtlich bleibt und nicht zu viele Blöcke entstehen, besser so:
Code:
Object1 := nil;
Object2 := nil;
Object3 := nil;
try
Object1 := TMyFirstClass.Create;
// use Object1
...
Object2 := TMySecondClass.Create;
// use Object2
...
Object3 := TMyThirdClass.Create;
// use Object3
...
finally
FreeAndNil(Object3);
FreeAndNil(Object2);
FreeAndNil(Object1);
end;
Bei der Freigabe von Objekten sollte eigentlich kein Fehler auftreten.