![]() |
Re: Fensternachrichten Unterscheidung
..ok...
sagen wir mal ich habe meine eigenen Komponenten so definiert.
Code:
..damit kann ich aber doch noch immer nicht sicher sein, daß zum Beispiel auf die Nachricht WM_KOMPO1_BLA1 ein andere Fremdkomponente auch reagiert...
const
KOMPO1_BASE = 100; KOMPO2_BASE = 200; KOMPO3_BASE = 300; WM_KOMPO1_BLA1 = WM_USER + KOMPO1_BASE + 1; WM_KOMPO1_BLA2 = WM_USER + KOMPO1_BASE + 2; WM_KOMPO2_BLA1 = WM_USER + KOMPO2_BASE + 1; WM_KOMPO3_BLA1 = WM_USER + KOMPO3_BASE + 1; WM_KOMPO3_BLA2 = WM_USER + KOMPO3_BASE + 2; ..sprich es passiert nicht das was ich wollte, sondern die Fremdkomponente reagiert...irgendwie fehlt mir in dem Zusammenhang etwas applikationsweit globales das halt eine Abgrenzung der Nachrichten garantiert...Fremd- oder Eigenkomponenten sollten dabei nicht die Rolle spielen...bei Eigenkomponenten ist das ja nur eine Sache der Pflege...aber bei Fremdkomponenten bin ich in dem Zusammenhang immer noch bissel skeptisch |
Re: Fensternachrichten Unterscheidung
Dazu gibt es dann eine Plausibilitätsüberprüfung. Außerdem: wer sendet denn die Nachrichten? Das System jedenfalls nicht. Also tun es die Komponenten oder deren Benutzer selber. Du hast es also durchaus in der Hand. Jede Kompo sollte ja ein eigenes Fenster haben. Damit ist auch ein Adressat eindeutig definiert. Ich verstehe also dein Problem nicht? Normalerweise sollte eine andere Kompo deine Nachricht garnicht bekommen, es sei denn du broadcastest alle deine Nachrichten (was natürlich schlechter Stil ist).
|
Re: Fensternachrichten Unterscheidung
Ich habe hier zwei Fremdkomponenten, eine davon ist für die Netzwerkkommunikation.
Beide Komponenten arbeiten viel mit Fensternachrichten. Die Netzwerkkommunikation wird manchmal, scheinbar grundlos abgebrochen, so wie es aussieht, feuert die 2. Komponente eine Nachricht, die die Netwerkkomponente verarbeitet und zwar "denkt" die Komponente, die Daten wären erfolgreich und vollständig verschickt worden und schliesst den Kommunikationskanal. Aus diesem Fehler heraus kam ich zu der anfänglichen Überlegung. |
Re: Fensternachrichten Unterscheidung
Normalerweise sind doch aber Fensternachrichten gerichtet. Will heißen der Adressat ist bekannt und vordefiniert. Ich kann mir das also alles noch nicht so ganz vorstellen, es sei denn die eine Kompo verwendet ohne RegisterWindowMessage() einen Broadcast. Was vermieden werden sollte!
Ansonsten brauchst du dir ja nur mal vorstellen welches Chaos unter normalen Umständen auf deinem Rechner existieren würde. Ach ja: natürlich ist relevant, ob deine Nachrichten in der Schleife des Elternfensters oder vom Fenster selbst bearbeitet werden. Bei erstem Fall kann es naturgemäß eher zu einer Kollision kommen. |
Re: Fensternachrichten Unterscheidung
Danke euch für die Denkanstösse :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:01 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 by Thomas Breitkreuz