Moin Christian,
das hat zwar mit Deinem Problem nichts zu tun, aber:
So wie Du das try/finally angewendet hast, ist es relativ sinnlos.
Egal ob die Datei erfolgreich geladen werden konnte oder nicht: Sie wird verarbeitet...
Besser, Du schreibst das try hinter das BeginUpdate, und kapselst das EndUpdate in finally/end, um sicherzustellen, dass der Listview auch dann wieder etwas anzeigt, wenn bei der Verarbeitung der Datei etwas schiefgegangen ist.
Eigentlich handelt es ich bei try/finally um den, sogenannten, Resourcenschutzblock, der dafür sorgen soll, dass belegte Resourcen auch dann wieder freigegeben werden, wenn bei deren Verarbeitung ein Fehler aufgetreten ist.
Delphi-Quellcode:
// Resource belegen
sl := TStringList.Create;
try
// mit der Resource arbeiten
finally
// Resource freigeben
sl.free;
end;
// oder auch
dwHandle := CreateFile(....);
if dwHandle <> INVALID_HANDLE_VALUE then begin
try
// mit der Datei arbeiten
finally
CloseHandle(dwHandle);
end;
end;