also einfach functions und procedures anlegen und die dann im Host aufrufen?
Aber wie reagier ich in der
BPL darauf?
Wir machen das (bei DLLs, aber kommt auf das gleiche raus) so, dass wir eine Schnittstelle initialisieren, die dann in beide Richtungen Interfaces durchreicht.
Konkret gibt es im IHostInterface ein RegisterClient, das wiederum ein Interface weitergibt. Auf die Weise kann die Anwendung in beide Richtungen kommunizieren. Wir machen das dann so, dass wir in einer Methode GetInterface die
GUID des benötigten Interfaces anfragen und dann die entsprechende Implementierung als Instanz zurückbekommen. So können wir über eine schlanke Schnittstelle sehr viel Funktionalität durchleiten.
Wir würden also konkret vom Host aus am Client z.B. einen ITimerManager anfragen, der dann z.B. eine Property TimerEnabled hat.