Anbei ein kleines Testprogramm, das zeigt, dass Verzeichnisse mit Umlauten nicht richtig dargestellt werden, bzw. keine Files in diesen Verzeichnissen gesucht werden:
Code: Alles auswählen
procedure TForm1.FormCreate(Sender: TObject);
var
FS: TFileSearcher;
begin
Memo1.Clear;
FS := TFileSearcher.Create;
FS.OnFileFound := @FileFound;
Memo1.Lines.Add('Dateien im Programmverzeichnis:');
FS.Search(ExtractFilePath(ParamStr(0)), AllFilesMask, True);
Memo1.Lines.Add('');
Memo1.Lines.Add('Dateien im Unterverzeichnis "Dir_ÄÖÜ":');
FS.Search(ExtractFilePath(ParamStr(0)) + '\Dir_ÄÖÜ', AllFilesMask, True);
FS.Free;
end;
procedure TForm1.FileFound(FileIterator: TFileIterator);
begin
Memo1.Lines.Add(FileIterator.FileName);
writeln(UTF8ToSys(FileIterator.FileName));
end;
Code: Alles auswählen
PathInfo.Name := SysToUTF8(UTF8String(PathInfo.Name));
Interessieren tät mich auch, wie das Verhalten unter einem anderen OS ist, bzw. was die Konvertierung dort bewirkt.
EDIT: Dateien gelöscht, da sie, falls sie jemanden interessieren, auch vom Bugtracker geladen werden könnten.