Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi TTask.WaitForAll hängt (https://www.delphipraxis.net/208054-ttask-waitforall-haengt.html)

KodeZwerg 4. Jun 2021 10:37

AW: TTask.WaitForAll hängt
 
Bevor ich eine UI komplett lahmlege würde ich eher ein dynamisch generiertes Formular mit einer ProgressBar drauf Modal darstellen lassen. ("Downloading Data... please wait...")
TThread mit Syncronize sorgt für ein Update der UI.
Auch ein Abbrechen button sollte nicht fehlen.

Ich hoffe Du verstehst wie ich es meine.

jziersch 4. Jun 2021 10:47

AW: TTask.WaitForAll hängt
 
Anstatt Synchronize verwende ich nun AtomicIncrement im Task um ein Flag zu setzen wenn Daten zur Anzeige fertig sind. Dieses Flag frage ich im Haupthread in einem Timer event periodisch ab und rufe, falls das Flag gesetzt ist, die Daten aus einem entsprechenden Objekt ab.

Mittels AtomicIncrement kann man auch einem Task mitteilen, dass er abbrechen soll.

stalkingwolf 7. Jun 2021 08:19

AW: TTask.WaitForAll hängt
 
Zitat:

Zitat von KodeZwerg (Beitrag 1490651)
Bevor ich eine UI komplett lahmlege würde ich eher ein dynamisch generiertes Formular mit einer ProgressBar drauf Modal darstellen lassen. ("Downloading Data... please wait...")
TThread mit Syncronize sorgt für ein Update der UI.
Auch ein Abbrechen button sollte nicht fehlen.

Ich hoffe Du verstehst wie ich es meine.

Ja und das habe ich mit einem Callpout gemacht auf welchem ein Progressbar und Label ist, weil ich kein neues Formular haben wollte.
Die Zugriffe habe ich mit TThread.Syncronize gelöst.

Mit ging es nun nur um das waitForAll weil es mir die APP komplett still gelelgt hat. Aber ich habe es anders gelöst. Ein abbrechen vom Download macht eh keiner, weil die Daten benötigt werden.

Dennoch Danke für das Feedback.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:19 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz