Wieso nicht einfach mit
SysUtils.RenameFile verschieben? Funktioniert bei mir seit Jahr & Tag fehlerfrei:
Delphi-Quellcode:
procedure TFormMain.HM_Datei_VerschiebenClick(Sender: TObject);
VAR
i, z : Integer;
Datei_Alt,
DateiName,
Pfad_Neu,
Datei_Neu : String;
begin
z := DateiListe.Count;
IF z = 0 THEN
BEGIN
ShowMessage('Keine Dateien zum Verschieben gefunden ...');
EXIT;
END;
Pfad_Neu := IncludeTrailingBackslash(DirList_Ziel.Directory);
FOR i := 0 TO z-1 DO
BEGIN
Datei_Alt := DateiListe[i];
DateiName := ExtractFileName(Datei_Alt);
Datei_Neu := Pfad_Neu + DateiName;
IF NOT SysUtils.RenameFile(Datei_Alt,Datei_Neu) THEN
SHowMessage(DateiName + ' fehlgeschlagen ...');
END;
ShowMessage(IntToStr(z) + ' Dateien verschoben ...');
end;