![]() |
HWND_BROADCAST kommt mehrmals an?!?
Hallo!
Wenn ich eine Broadcast-Nachricht verschicke, so kommt die beim Ziel scheinbar mehrmals an (in meinem Fall 4 mal) Woran liegt das? Hier ein primitiver Source:
Delphi-Quellcode:
Danke!
var
Form1: TForm1; WMBroadTest : Longword; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Application.OnMessage := OnMessage; end; procedure TForm1.OnMessage(var Msg: TMsg; var Handled: Boolean); begin if msg.message = WMBroadTest then Memo1.Lines.Add('Broad!'); Handled := msg.message = WMBroadTest; end; procedure TForm1.Button1Click(Sender: TObject); begin PostMessage(HWND_BROADCAST, WMBroadTest, 0, 0); end; initialization WMBroadTest:=RegisterWindowMessage('BroadTest'); end. |
Re: HWND_BROADCAST kommt mehrmals an?!?
Vielleicht schickst du die Nachricht in einer Schleife ab die 4mal durchläuft? :gruebel:
|
Re: HWND_BROADCAST kommt mehrmals an?!?
Äh, nein?
Der ganze Source ist da, auch das abschicken. Keine Schleife. Sieht man doch, oder? (In der reellen Anwendung wird das Broadcast von einer Anwendung zu einer anderen geschickt, der Source ist also nur zur Demonstration da, funktioniert aber einwandfrei - ausser dem den Problem das die Message mehrmals ankommt) Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:33 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