![]() |
Re: Probleme mit PostMessage aus einem Thread
Zitat:
|
Re: Probleme mit PostMessage aus einem Thread
Das Problem bei der Benutzung von Synchronize ist aber, dass der Thread erst dann weiterläuft, nachdem die Methode abgearbeitet wurde. Daher habe ich es ja bisher mit PostMessage probiert, damit der Thread sofort weiterlaufen kann.
Es handelt sich bei dem Thread um einen Kommunikations-Thread, der ständig Daten empfangen und senden soll, daher soll keine Zeit für das Updaten der GUI vom Thread verloren gehen. |
Re: Probleme mit PostMessage aus einem Thread
Also die GUI muss upgedatet werden, wenn den den Thread switched. Das verstehe ich nicht. Oder bist du auf einem Pentium 1 Prozessor?
|
Re: Probleme mit PostMessage aus einem Thread
Die GUI muss aus dem Hauptthread upgedatet werden. Daher habe ich bisher eine WM_User-Botschaft verschickt, da ich dachte, diese würde im Hauptthread abgearbeitet. Daher auch Applikation.ProcessMessages im Thread.
Nur wird die GUI halt aus dem anderen Thread geupdatet. Das ist mein Problem. |
Re: Probleme mit PostMessage aus einem Thread
Application.ProcessMessages verarbeiter die Nachrichten und zwar in dem Thread, wo es aufgerufen wird.
wenn du also Application.ProcessMessages in einem Thread aufrufst, dann werden die Nachrichten auch in diesem Thread abgearbeitet und mit etwas Glück zankt sich dann die Nachrichtenverarbeitung des Programms mit der im Thread auch noch. also Application.xyz hat nichts in einem Thread zu suchen. |
Re: Probleme mit PostMessage aus einem Thread
Windows lässt gar nicht zu, dass ein Thread für einen anderen Fensternachrichten abarbeitet. Jeder Thread erhält nur die Nachrichten für seine eigenen Fenster.
|
Re: Probleme mit PostMessage aus einem Thread
ok, dennoch nutzt er dann die Nachrichtenverarbeitung des Hauptthreads, auch wenn er damit die Nachrichten eines anderen Thread abarbeitet
|
Re: Probleme mit PostMessage aus einem Thread
Wie kann ich dann bitte ohne ein Einsatz von Synchronize den Hauptthread dazu bewegen, die GUI zu aktualisieren?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:28 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