Announcement

Collapse
No announcement yet.

Weitergegebenes Interface casten?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Weitergegebenes Interface casten?

    Hallo,

    ich habe folgendes Szenario:
    Es existieren 2 Anwendungen "Messenger" und "Admin".
    Der Messenger ist durch COM-Plugins erweiterbar. Hierfür habe ich eine Basis-Schnittstelle, die von jedem Plugin implementiert wird und auch Methoden für die Konfiguration des Plugins bereitstellt. Messenger und Plugins werden grundsätzlich auf dem gleichen System installiert.
    Über den Admin, der auch auf anderen Rechnern laufen soll, soll nun die Konfiguration der Plugins möglich sein. Dazu besitzt der Messenger eine zusätzliche Schnittstelle, über die der Admin in den Besitz aller Plugin-InterfaceIDs gelangen kann und vom Messenger auch ein Basis-Interface eines Plugins anfordern kann.
    Das alles funktioniert soweit ganz gut.
    Nun habe ich aber das Problem, dass einige Plugins im vergleich zu "normalen" Plugins noch zusätzliche Initialisierungsparameter benötigen. Die Idee war, zusätzliche Interfaces in der gemeinsam genutzten TLB zu dekarieren, die ein entsprechendes Plugin bei Bedarf implementiert. Funktioniert soweit auch.
    Das Problem ist nun folgendes:
    Während der Messenger über den Aufruf von
    Supports(FPlg,IID_ZusatzInterface)
    korrekt feststellen kann, dass das Plugin das ZusatzInterface implementiert hat, erhält der Admin ein anderes Ergebnis.
    Ich hatte nun versucht, den Supports-Aufruf in das Plugin selbst zu verlagern, indem ich eine entsprechende Methode dafür eingeführt habe. Nun kann der Admin zwar feststellen, dass das Plugin das Zusatzinterface unterstützt, jedoch schlägt der Cast
    (FPlg as IZusatzInterface) jetzt fehl.
    Weiss jemand, wie ich den Cast doch noch hinbekomme?
Working...
X