AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sicherstellen das Procedure abgearbeitet wurde

Ein Thema von Int3g3r · begonnen am 11. Sep 2019 · letzter Beitrag vom 11. Sep 2019
Antwort Antwort
Int3g3r

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

AW: Sicherstellen das Procedure abgearbeitet wurde

  Alt 11. Sep 2019, 08: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
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Sicherstellen das Procedure abgearbeitet wurde

  Alt 11. Sep 2019, 08:45
Zitat:
Das ist eben mein knackpunkt. Ich weis es nicht ob eine asynchrone Verarbeitung stattfindet.
Wenn Du nicht selber dafür sorgst, dass die Verarbeitung asynchron abläuft (Ausführung in einem Hintergrundthread) läuft diese garantriert synchron.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Sicherstellen das Procedure abgearbeitet wurde

  Alt 11. Sep 2019, 12:32
hi, ich bin der meinung das
Code:
SHFileOperation(FOS);
hier ein mini problem darstellt.
mit
Code:
eineLeereVariable := SHFileOperation(FOS);
sollte das problem gefixt sein. hoffe ich...
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz