Hey
Da mich dieses Thema auch schon lange interessiert hat; man könnte sich bei solchen Wrapperklassen auch noch einen weiteren Vorteil sichern: Das Verwenden mehrerer Threads. Das Argument "Synchronisierung" kann man damit tatsächlich auch erschlagen. Windows bietet von Haus aus schon eine Messagequeue für die Nachrichtenbehandlung der Fensterereignisse an (klar, muss ja intern auch irgendwie funktionieren). Das
MSDN schreibt dazu:
Zitat:
The function fails if the specified thread does not have a message queue.
The system creates a thread's message queue when the thread makes its first call to one of the User or GDI functions. For more information, see the Remarks section.
Man könnte die
PostThreadMessage Funktion also benutzen, um kustomisiert auf bestimmte Threadereignisse zu reagieren; oder sehe ich das falsch? Mir schwebt sowas wie ein "Callback" für die
WndProc
vor. Man registriert eine Callback Funktion auf einen
Msg
-Code, sodass man dann einfach jedes Mal, wenn man der
GUI etwas mitteilen möchte, einfach
PostThreadMessage
aufruft (oder wenn man das an ein
hwnd
binden möchte, eben
SendMessage
/
PostMessage
) und die Synchronisierung einfach über Windowsboardmittel durchführt. Wisst ihr was ich meine? Macht das für euch auch Sinn? Ich denke, dass man so zum Beispiel ein Log in einem Memo führen könnte, da die Messages ja immer hübsch einzeln "reinblubbern" - und das egal wie viele Threads im Hintergrund beteiligt sind.
Brighty
P.S. Habe gerade interessehalber
diesen Artikel gelesen. Vielleicht interessiert er in diesem Kontext den ein oder anderen.
(Falls jemand sprachliche Unterstützung möchte, kann ich btw. gerne übersetzend aktiv werden...)
Do you have the email of god??? --- I have to tell him that I'm happy to be born!