Hallo
DP's
ich hab ein kleines Problem, und zwar möchte ich Dateien kopieren. was soweit auch ganz gut mit den Source klappt.
Delphi-Quellcode:
class function TMyDaten.CopyDirectory(AFromFolder, AToFolder: string): boolean;
var
fos: TSHFileOpStruct;
begin
ZeroMemory(@fos, SizeOf(fos));
fos.wFunc := FO_COPY;
fos.fFlags := FOF_SIMPLEPROGRESS OR FOF_NOCONFIRMATION;
fos.pFrom := PChar(AFromFolder + #0);
fos.pTo := PChar(AToFolder);
Result := (0 = ShFileOperation(fos));
end;
Nun habe ich aber festgestellt, das wenn größere Datenmengen Transportiert, das er nicht weiterkomperliert bis die Datei oder Verzeichnis erfolgreich beendet wurde.
Meine Idee war die Funktion in einem Thread zu haun und dann nur die Parameter zu übergeben.
Delphi-Quellcode:
LThread := MyThread.Create(true);
LThread.GPfadFrom := LPfadFrom;
LThread.GFadTo := LPfadTo;
LThread.Suspended := False; //thread wird gestartet!!
Application.ProcessMessages;
aber da ist wieder das Problem das er erst nach meiner For - Schleife mit den kopieren anfängt.
hat jemand eine Idee wie man das am einfachsten lösen kann?
Mein ziel ist, das er währen meiner Fußgesteuerten schleife...
Delphi-Quellcode:
repeat
FileCountTo := TMyDaten.CountFiles(LPfadTo); //ermittelt OrdnerZahl
Progressbar1.Position := FileCountTo;
Application.ProcessMessages;
until FileCountTo = FFileCountFrom;
...Die Dateien kopiert..
danke schonmal im Vorraus.