AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit PostMessage aus einem Thread

Ein Thema von deadcantdance · begonnen am 6. Feb 2009 · letzter Beitrag vom 7. Feb 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Probleme mit PostMessage aus einem Thread

  Alt 6. Feb 2009, 18:47
Zitat von messie:
Ich dachte immer, Application.Processmessages erzwingt die Abarbeitung der Windows-Eventqueue.
  1. Jeder Thread hat seine eigene MessageQueue
  2. Greifst du auf nicht threadeigene Variablen/Objekte zu
  3. ist es ja gerade der Sinn eines Threads. Die Messageabarbeitung im Hauptthread läuft ja nebenbei
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
deadcantdance

Registriert seit: 25. Feb 2008
81 Beiträge
 
Delphi 2007 Professional
 
#12

Re: Probleme mit PostMessage aus einem Thread

  Alt 6. Feb 2009, 21:27
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.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: Probleme mit PostMessage aus einem Thread

  Alt 6. Feb 2009, 21:58
Also die GUI muss upgedatet werden, wenn den den Thread switched. Das verstehe ich nicht. Oder bist du auf einem Pentium 1 Prozessor?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
deadcantdance

Registriert seit: 25. Feb 2008
81 Beiträge
 
Delphi 2007 Professional
 
#14

Re: Probleme mit PostMessage aus einem Thread

  Alt 7. Feb 2009, 14:11
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#15

Re: Probleme mit PostMessage aus einem Thread

  Alt 7. Feb 2009, 14:52
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.
$2B or not $2B
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: Probleme mit PostMessage aus einem Thread

  Alt 7. Feb 2009, 14:56
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.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#17

Re: Probleme mit PostMessage aus einem Thread

  Alt 7. Feb 2009, 15:03
ok, dennoch nutzt er dann die Nachrichtenverarbeitung des Hauptthreads, auch wenn er damit die Nachrichten eines anderen Thread abarbeitet
$2B or not $2B
  Mit Zitat antworten Zitat
deadcantdance

Registriert seit: 25. Feb 2008
81 Beiträge
 
Delphi 2007 Professional
 
#18

Re: Probleme mit PostMessage aus einem Thread

  Alt 7. Feb 2009, 18:14
Wie kann ich dann bitte ohne ein Einsatz von Synchronize den Hauptthread dazu bewegen, die GUI zu aktualisieren?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:15 Uhr.
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