Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.005 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Botschaft an Frame senden

  Alt 6. Jan 2009, 15:39
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.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat