Zitat von
Surrounder:
Und für welchen Fall brauche ich dann überhaupt try .. finally?
Damit etwas auf jeden Fall passiert. In deinem Fall zum Beispiel müssen die Variablen freigegeben werden. Für eine StringList sieht sowas dann ungefähr so aus:
Delphi-Quellcode:
begin
MySringList := TStringList.Create();
try
//hier käme dann anderer Code
finally
MyStringList.Free();
end;
end;
So kannst du sicher gehen, dass auf jeden Fall der Speicher freigegeben wird, egal, was passiert.
Edit1: Kosmetik.
Edit2:
Das except ist im Endeffekt nur für Fehler, die du nicht selber abfangen kannst (z. B. bei falschen Rückmeldungen durch Server etc.). Gegen andere Dinge (Datei existiert, Datei zu groß/zu klein/nicht gültig) kannst du dich schützen.