Entwickler-Ecke

Windows API - Programm hängt bei Sendmessage...


FriFra - Mo 30.06.03 08:52
Titel: Programm hängt bei Sendmessage...
Kann man irgendwie verhindern, dass ein Programm hängt, nachdem es eine Message an ein anderes gesendet hat?
Bei mir ist das sendende Programm solange blockiert, bis das empfangende Programm die durch die Message ausgelöste Aktion beendet hat.


Anonymous - Mo 30.06.03 09:08

Wenn es in dein Konzept paßt, nimm stattdessen PostMessage ... allerdings ist das von die genannte Phänomen ein Feature von SendMessage ;)


FriFra - Mo 30.06.03 09:54

Danke für den Tip :D ...

:? Allerdings kommen gepostete Messages nicht mehr bei meiner Funktion WMCopyData(var Msg: TWMCopyData) an... Wie kann ich diese Messages empfangen?


Anonymous - Mo 30.06.03 12:24

Garnicht ... geht nur mit SendMessage ... wie diverse andere Messages auch.

Dann muß deine Bearbeitung entweder schneller werden oder du delegierst die Arbeit nachdem du den Puffer kopiert hast an einen Workerthread.


FriFra - Mo 30.06.03 12:34

Assarbad hat folgendes geschrieben:
Garnicht ... geht nur mit SendMessage ... wie diverse andere Messages auch.


Was nützt es mir dann mit PostMessage eine Message an meine Anwendung zu senden, wenn ich nicht merke, dass die Message gesendet wurde?

Ich verwende jetzt SendMessageTimeOut, damit ist mein Problem weitestgehend gelöst.


tommie-lie - Mo 30.06.03 21:05

Mit PostMessage gesendete Nachrichten können nicht selbst abgefangen werden?
Wäre mir neu...
Aber falls dem wirklich so ist, wäre SendCallbackMessage vielleicht eine Alternative. Für die Callbackprocedure kann man nämlich auch einen Nullpointer angeben.