![]() |
message fuer alle komponenten
Hallo,
ich hoffe ich bin jetzt im richtigen Forum. Ich versuche gerade Komponenten zu erstellen und hatte dabei die wahnwitzige idee, das ich der Komponente die Moeglichkeit gebe sich per messages mit anderen Komponenten abzugleichen. Die Idee sieht wie folgt aus: Komponente wird in ihrer Groesse veraendert wodurch sie eine message absendet damit alle Komponenten des gleichen Typs erfahren das da was passiert ist. Diese Komponenten sollen aufgrund der message eine Anpassung starten. Das Versenden der Message erfolgt derzeit per
Code:
Das Empfangen bereitet mir allerdings im Moment Probleme. Der einzige der auf die Message reagiert ist das Hauptfenster (TForm). Ich weiss leider absolut nicht wie ich eine Message absenden soll damit die untergeordneten Komponenten der Form auch reagieren.
SendMessage(self.Parent.Handle,WM_USER+1024,0,0)
Die Procedure zum Messageempfang ist von hier abgeschaut *g*
Code:
Die Komponente welche empfangen soll ist von TComponent abgeleitet.
procedure WMHACK(var msg : TMessage);message WM_USER+1024;
... procedure MessageVersuch.WMHACK(var msg : TMessage); begin ShowMessage('Es geht!'); end; Ich hoffe mein Problem wurde verstanden, ich weiss sonst nicht wie ich es anders ausdruecken soll :( |
Re: message fuer alle komponenten
Da Delphi (<=7) noch keine Klassenvariablen unterstützt würde ich folgendes machen
Ich würde in der Unit, wo diese Klasse definiert sind eine Verwaltungsliste anlegen, in der sich alle Objekte beim erzeugen registrieren. Beim Zerstören tragen sie sich wieder aus. Über diese Liste könnte eine Benachrichtigung aller Instanzen der Klasse erfolgen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 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