Zitat von
taaktaak:
Moin, Moin.
Um zirkuläre
Unit-Referenzen zu vermeiden, sendet meine Config-
Unit nach Veränderung von Einstellungen mittels PostMessage() eine Botschaft an alle Fenster, damit diese darauf reagieren und ggf. Veränderungen sofort optisch darstellen zu können. Das funktioniert auch wie gewünscht.
Alternativ könnte man auch das Beobachter (Observer) Entwurfsmuster verwenden. Jedes Frame oder Form registriert sich dabei in einer zentralen Liste, die dann von der Config-
Unit benutzt wird, um nach einer Änderung eine Nachricht an alle zu senden.
Die Liste könnte (nur so als Beispiel) eine IInterfaceList sein. Jedes Frame oder Form implementiert dann z.B. ein IConfigAware Interface mit einer Methode OnConfigChanged. Der Rest ist dann einfach, und kann beliebig um weitere Klassen (auch nichtvisuelle) erweitert werden, die ja normalerweise kein Windowshandle haben.