try..finally könnte evtl. schon die Lösung sein:
Delphi-Quellcode:
procedure TForm1.alCalcExecute(Sender: TObject);
var
StrListCalc: TStringList;
begin
strListCalc := TStringList.Create;
ZeissCFG := TClassZeissCFG.Create;
try //<==[INDENT]
StrListCalc := ZeissCFG.BuildNewFile(CFGValues, ValuesX, ValuesY, ValuesZ, DataLoaded);
if CheckForSelectedFiles() then
begin
if SaveDialog1.Execute then
begin
if SaveDialog1.FileName <> '' then
begin
StrListCalc.SaveToFile(SaveDialog1.FileName);
ShowMessage('Neue CFG Datei gespeichert!');
end;
end
else
begin
ShowMessage('Datei NICHT gespeichert!');
end;
end;
[/INDENT] finally //<<==
FreeAndNil(ZeissCFG);
FreeAndNil(strListCalc);
end;
end;
Ja, und inzwischen gab es schon einen Vorredner...geh seinem Verdacht ruhig auch nochmal auf den Grund!