Entwickler-Ecke
Windows API - Probleme mit Messages
UWER - Di 29.07.03 10:49
Titel: Probleme mit Messages
Hallo Leute,
meine Applikation kriegt von einer DLL mittels PostMessage eine Message das sie sich neue Daten holen soll. Die Message wird mit dem Ereignis OnMessage abgefangen und es funktioniert im Normalfall wunderbar. Ab und zu jedoch geht mir eine Message verschütt. Mein Verdacht ist der folgende:
Ich benutze in meinem Prog Async Professional (Vers. 2.7) um Modems anzusprechen. Die Messages scheinen dann verschütt zu gehen wenn Async Professional ins Spiel kommt. Ich hab mal in den Source-Code geschaut und festgestellt das die mir die Messages auslesen und versuchen abzuarbeiten. Hier mal ein CodeBeispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then begin if Msg.Message = wm_Quit then PostQuitMessage(Msg.WParam) else begin TranslateMessage(Msg); DispatchMessage(Msg); end; SafeYield := MAKELONG(Msg.Message, Msg.hwnd); end; |
Wird in diesem Fall das Ereignis OnMessage überhaupt ausgelöst?
Moderiert von
UGrohne: Code- durch Delphi-Tags ersetzt
MSCH - Mi 30.07.03 18:14
hmmm, ich hab hier mal ein anderes Beispiel wie man mit Msg umgehen könnte:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| const WM_MyMessageID = wm_user + 1; type TMyForm = Class() public procedure WMMyMessageID(var Msg:TMessage);Message wm_myMessageID; end;
procedure TMyForm.WMMyMessageID; begin end; |
Das Gegenstück zum senden ist:
Delphi-Quelltext
1:
| PostMessage(Fensterhandle, wm_MyMessageID,wParam,lParam); |
Hat den Vorteil, dass das ganze geraffe mit Peek und Post und Dispatch weggelassen werden kann und windose kümmert sich ums zustellen der Message.
grez
msch
Moderiert von
UGrohne: Code- durch Delphi-Tags ersetzt
UWER - Do 31.07.03 12:35
DANKE!
Das war genau das was ich gesucht hatte.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!