Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Message korrekt behandeln

  Alt 21. Mai 2018, 12:40
SendMessage wird direkt im GetMessage verarbeitet ... nur PostMessage wird zurückgegeben und anschließend im DispatchMessage verarbeitet.
An SendMessage kommt man nur via Hooks an WndProc/GWL_WNDPROC oder ala WH_GETMESSAGE dran.

Noch besser sind Timer-Messages, welche man in der MessageQueue vergebens sucht, da sie erst im GetMessage/PeekMessage erzugt werden.


Und ja, ich dachte mir auch erst, was das denn für ein Schwachsinn sei,
denn im Application. TApplicationEvents.OnMessage kommen so viele der Events garnicht erst an.


Ach ja, WM_QUIT beendet garnichts.
Es sagt nur, dass sich der Empfänger doch bitte beenden möge, was er nur macht, wenn der Entwickler (hier Du oder Emba in der VCL) dieses dort auch eingebaut hat.


Aus diesen beiden Gründen wird nun auch klar, warum viele Messages auch mit dem jeweils richtigen Befehl verschickt werden müssen (SendMessage, PostMessage oder PostThreadMessage)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (21. Mai 2018 um 13:19 Uhr)
  Mit Zitat antworten Zitat