Da hast du dir mit FOF_MULTIDESTFILES eine sehr komplizierte Variante von DoFileWork ausgesucht. Benutzt man eigentlich nur, wenn die Zielpfade unterschiedlich sind.
Wenn‘s unbedingt analog DoFileWork sein, dann eher so:
Delphi-Quellcode:
function CopyPath(const AFrom, ATo: string): boolean;
var
SHFileOpStruct: TSHFileOpStruct;
begin
with SHFileOpStruct do
begin
Wnd:= Application.Handle;
wFunc:= FO_COPY; // FO_MOVE für verschieben
pFrom:= PChar(AFrom + #0 + #0);
pTo:= PChar(ATo + #0 + #0);
// fFlags:= FOF_NOCONFIRMATION or FOF_SILENT;
end;
Result:= SHFileOperation(SHFileOpStruct) = 0;
end;
Diese Routine kopiert eine Datei oder ein Verzeichneis in das Verzeichnis ATo. rootPath und destPath wären dann jetzt also strings.
if CopyPath(rootPath, destPath) then ShowMessage ('jepp');