Wie kommst Du auf Singleton?
Hab ich einfach mal so angenommen (immerhin macht es
System.Messaging so vor) - aber ok, kein Singleton. Und wie wissen nun Producer und Consumer von diesem "einen einzigen Multicasteventcontroller"?
Wo ist denn bei System.Messaging ein Singleton?
Ja, es gibt eine Default-Instanz für den Anwendungs-Kontext, aber man kann sich soviele eigene Messenger erzeugen, wie man möchte, das spricht ja gegen Singleton.
Dann grep doch mal den FMX Code durch, ob da jemals eine Instanz von TMessageManager erzeugt wird, oder ob nicht an allen knapp 200 Stellen TMessageManager.DefaultManager genutzt wird. Wenn man nämlich ne selbsterzeugte Instanz benutzt, dann müsste man sie ja irgendwo in die beteiligten Akteure übergeben (Stichwort Dependency Injection). Nur leider passt das ja nicht so ganz zu der TComponent Architektur, gell?
Zeig mir doch mal Code, wo TComponents mit einer injekteten TMessageManager Instanz arbeiten und das einfacher zu nutzen ist, als nen multicast event.