Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#27

AW: TTask.WaitForAll hängt

  Alt 25. Aug 2019, 13:21
Spricht etwas dagegen aus einer Task heraus an die GUI Messages zu senden? dann kann man auch die Geschwätzigkeit der Oberfläche erhalten.
Erstmal nicht. Ich würde das dann aber so implementieren, daß ein Queue anstatt eins Synchronize verwendet werden kann. Andernfalls bremst man die Task aus bzw. degradiert sie zu einer ineffizienten State-Machine.

Es sind aber ja nicht nur die GUI-Objekte ListBox1 und ProgressBar1 (diese Namen ), die aus dem Thread angesprochen werden. Neben des DataSet qV sind da auf den ersten Blick noch StartFolder, GridInit, AktLine und StartTime - das LTaskRun sollte mit dem Ansatz eigentlich obsolet sein.

Die ganze Routine ist sowas von thread-untauglich, daß ich gar nicht weiß, wo ich anfangen soll. Solange hier nicht ein tieferes Verständnis bezüglich Thread-Sicherheit von Code aufgebaut wird, würde ich von solchen Threading-Abenteuern absehen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat