Einzelnen Beitrag anzeigen

Int3g3r

Registriert seit: 28. Nov 2018
Ort: Schweiz
118 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Sicherstellen das Procedure abgearbeitet wurde

  Alt 11. Sep 2019, 09:24
Bist Du sicher, dass Du keine asynchrone Verarbeitung in Deinem Programm hast? Ansonsten wird bei Aufruf von
Delphi-Quellcode:
Block1;
Block2;
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!
  Mit Zitat antworten Zitat