Bist Du sicher, dass Du keine asynchrone Verarbeitung in Deinem Programm hast? Ansonsten wird bei Aufruf von
immer Block1 vollständig ausgeführt, bevor es an Block2 geht.
Das ist eben mein knackpunkt. Ich weis es nicht ob eine asynchrone Verarbeitung stattfindet.
Delphi-Quellcode:
Procedure Block3
begin
DelFilesFromDir;
CopyFileInDirecory;
end;
procedure DelFilesFromDir(Directory, FileMask: string; DelSubDirs: Boolean);
var
SourceLst: string;
FOS: TSHFileOpStruct;
begin
FillChar(FOS, SizeOf(FOS), 0);
FOS.Wnd := Application.MainForm.Handle;
FOS.wFunc := FO_DELETE;
SourceLst := Directory + '\' + FileMask + #0;
FOS.pFrom := PChar(SourceLst);
if not DelSubDirs then
FOS.fFlags := FOS.fFlags OR FOF_FILESONLY;
// Remove the next line if you want a confirmation dialog box
FOS.fFlags := FOS.fFlags OR FOF_NOCONFIRMATION;
// Uncomment the next line for a "silent operation" (no progress box)
// FOS.fFlags := FOS.fFlags OR FOF_SILENT;
SHFileOperation(FOS);
end;
Ich bin mir hier einfach nicht sicher.
Da meist im hintergrund noch so viel abläuft auf was ich keinen direkten einfluss habe.
Also ist hier auch sichergestellt das "DelFilesFromDir" ausgeführt und beendet wurde bevor "CopyFileInDirecory" ausgeführt wird? Auch Wenn das Löschen 10s in anspruch nimmt ?
Besten Dank für die Hilfe!