AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

PostMessage vs. SendMessage

Ein Thema von ToFaceTeKilla · begonnen am 21. Okt 2008 · letzter Beitrag vom 21. Okt 2008
Antwort Antwort
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#1

Re: PostMessage vs. SendMessage

  Alt 21. Okt 2008, 12:27
Zitat:
Ist es theoretisch möglich, das SendMessage von PostMessage überholt wird? Also dass die Message von Post eher ankommt als von Send?
Nein und darf es auch nicht.

Alle Nachrichten die mit PostMessage() versendet wurden werden in der Anwendungs-Message-Bearbeitung-Schleife abgearbeitet. Das wäre dann Application.Run und innerhalb dieser wird mit einer Endlosschleife per GetMessage(), TranslateMessage() und DispatchMessage() dieser Messagequeue ausgelesen und verarbeitet. Üblicherweise ruft man dazu Application.ProcessMessages; auf.
SendMessage() dagegen sendet die Nachricht direkt an die Fenster.

Nur wenn der Entwickler konzeptionell nicht das Windowsmessagesytem verstanden hat wird er unter Umständen in einer Message Methode die per SendMessage() aufgerufen wird, einen "asynchronen" und im Grunde "illegalen" Aufruf von Application.ProcessMessages;, der den Queue leert, kann der Eindruck entstehen das Nachrichten die mit PostMessage() versendet wurden früher als die mit SendMessage() gesendeten, eintreffen.

Also

1.) PostMessage(Window, cm_Test);
2.) SendMessage(Window, wm_user);
2.1.) im Fenster wm_User empfangen in Messagemethode
2.2.) darin wird Application.ProcessMessages aufgerufen und somit Message cm_Test abgearbeitet
3.) Program läuft weiter

Gruß Hagen
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz