Ok, ich habe jetzt Testweise die FileListBox durch eine einfache ListBox ersetzt (LBFile) und lese das Verzeichnis wie folgt selbst aus:
Delphi-Quellcode:
procedure TForm1.ReadLBFile(Path: string);
var FileExt: string;
FileInfo: TSearchRec;
begin
LBFile.Clear;
if FindFirst(Path+'*.*',0, FileInfo)=0 then begin
repeat
FileExt:= UpperCase(ExtractFileExt(FileInfo.Name));
if FileExt='.TXT' then
LBFile.Items.Add(FileInfo.Name);
until FindNext(FileInfo)<>0;
FindClose(FileInfo);
end;
end;
Obwohl ich FileInfo ordnungsgemäß schließe, lassen sich zwar die Dateien nicht aber der Ordner, in denen sich die Dateien befinden, von anderen Programmen löschen. Was muss ich tun um den ausgelesenen Ordner für andere Programme wieder zum Löschen freizugeben ohne gleich das ganze Programm schließen zu müssen?