Das Problem was du vermutlich hast ist das du deine Schnittstellen fein säuerlich Programmtechnisch auseinander halten mußt und auch nocht verhindern mußt das dies Eventtechnisch "zuschlagen" wenn du es nicht gebrauchen kann.
Folgende Ideen:
1, Jede Schnittstelle wird in einer Instanz einer eigenen Schnittstellen-Kompo gekapselt. Diese handelt das auf der Schnittstelle vorhanden Protokoll und gibt an übergeordnete Schnittstellen nur fertige Pakete ab
2, Die Paketzustellung erfolgt in einer Manager-Klasse welche auch die Eventtechnisch entkopplung Schnittstellen <-> Hauptprogramm erledigt. Hier brauchst du ein eigens Protokoll um die Schnittstellen auseinander zu halten.
3, Evtl. werden jede einzelne Schnittstelle oder auch die Managerklasse in Threads verlagert und die Kommunikation erfolgt über Windows-Messages und/oder Threadsichere Listenklassen (TThreadList) zum Hauptprogramm.
4, Eine Manager-Klasse welche jetzt die Verteilung an die zuständigen
GUI-Fomulare/Komponenten durchführt.
Windows Vista - Eine neue Erfahrung in Fehlern.