nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Fensterprozeduren, Message Queues und Threads...

Von: Marcel Müller (news.5.maazl@spamgourmet.org) [Profil]
Datum: 22.04.2007 16:22
Message-ID: <462b6f8f$0$23141$9b4e6d93@newsspool1.arcor-online.net>
Newsgroup: de.comp.os.os2.programmer
Hallo,

ich bin in Sachen GUI nicht sonderlich bewandert deshalb folgende
Fragen. Einige habe ich schon versucht zu beantworten.

Aus welchem Thread werden denn die Fensterprozeduren aufgerufen, wenn
ich WinPostMessage verwende? Vermutlich der, der WinDispatchMsg aufruft.
Aber daraus ergibt sich die nächste Frage:
In welche Messagequeue wird eine Message bei WinPostMessage geschrieben?
Ich vermute es gibt eine Assoziation zum Fenster-Handle. Nur wie kommt
die zustande? WinCreate*Window kennt keinen Queue-Parameter.

Wie kann ich erreichen, dass zumindest bestimmte (User-)Messages in
einem eigenen Thread verarbeitet werden, weil deren Bearbeitung absehbar
länger dauert? Worauf muss ich achten, wenn auf einmal mehrere Threads
die gleiche Fensterprozedur aufrufen? Ist die komplette Win*-API thread
safe?

Ich kenne Programmcode, wo in einigen (aber nicht allen) Threads
WinInitialize() und WinCreateMsgQueue() aufgerufen werden. Die
gelieferten Handles werden aber in keinster Weise verwendet. Was bewirkt
das dann?


Man sieht schon, ich habe das ganze Prinzip nicht verstanden. Und ich
meide es auch, wenn es geht, da es ziemlich undurchschaubare
Abhängigkeiten im Programmcode erzeugt. Mir scheint, das war mal als
rudimentärer Thread-Emulator gedacht, als es selbige noch nicht gab.


Marcel

[ Auf dieses Posting antworten ]

Antworten