Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi HWND_BROADCAST kommt mehrmals an?!? (https://www.delphipraxis.net/131963-hwnd_broadcast-kommt-mehrmals.html)

ralfiii 3. Apr 2009 12:29


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:
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.
Danke!

craash 3. Apr 2009 12:48

Re: HWND_BROADCAST kommt mehrmals an?!?
 
Vielleicht schickst du die Nachricht in einer Schleife ab die 4mal durchläuft? :gruebel:

ralfiii 3. Apr 2009 13:08

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:

Zitat von craash
Vielleicht schickst du die Nachricht in einer Schleife ab die 4mal durchläuft? :gruebel:



Alle Zeitangaben in WEZ +1. Es ist jetzt 07:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz