Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Thread WaitFor wird durch Application.ProcessMessages blockiert

  Alt 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)
  Mit Zitat antworten Zitat