Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
Delphi 10 Seattle Enterprise
|
AW: Thread WaitFor wird durch Application.ProcessMessages blockiert
19. Feb 2011, 00:53
Gib mal den gesamten Code vom Thread und vom Befüllen des StringGrids.
Die lange Zeit für das Befüllen kann auch daher kommen, dass du das StringGrid nicht mit BeginUpdate/EndUpdate auf eine Menge Daten vorbereitest.
Für dieses Befüllen würde ich mit Queue statt mit Synchronize arbeiten (warum soll der Thread warten, bis die Daten im StringGrid angekommen sind)
Warum wartest du überhaupt mit WaitFor
auf den Thread?
MyThread.FreeOnTerminate := True
und der entfernt sich selber aus dem Speicher.
Die ThreadVariable MyThread kannst beim Event OnTerminate auf nil setzen und gut.
Oder du führst ein eigenen Event ein OnDestroy
und setzt dabei MyThread auf nil.
Application.ProcessMessages
in einem Thread aufzurufen ist absolut tabu!
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
|