Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
VSTO Nativ von einem .NET Addin auf ein anderes zugreifen
Marsti
myCSharp.de - Member



Dabei seit:
Beiträge: 124

Themenstarter:

VSTO Nativ von einem .NET Addin auf ein anderes zugreifen

beantworten | zitieren | melden

Hallo,

die Sitation: Es gibt ein Application-Level Addin, welches eine Schnittstelle für VBA anbietet (per COM, also Implementierung gegen ein Interface). Das Addin ist in .NET implementiert. Soweit sogut.

Nun kommt ein weiteres Documemt-Level Addin hinzu, ebenfalls .NET, welches möglichst komplett in .NET (also ohne COM) und ohne Umwege direkt auf die Schnittstelle, und auch von der Schnittstelle zurückgegebene Objekte (public class die für VBA irrelevant und ohne Interface-Implementierung sind), zugreifen soll.
Diesem sind die Klassen des ersten Addins natürlich per Referenz bekannt.

Hier tut sich recht schnell ein Problem auf, da nunmal alles über COM gewrapped ist und dementsprechend vom ComObject-Typ ist und nur gegen Interfaces gecastet werden kann.

Egal wie ich suche... immer finde ich nur den eher allgemeinen Hinweis, man müsste per ComAddins.Item("NameDesApplicationLevelAddins").Object zugreifen. Ich möchte aber wie gesagt spätestens bei zurückgegebenen Objekten eben direkt auf das .NET-Objekt zugreifen, und zwar möglichst ohne Umwege.
private Nachricht | Beiträge des Benutzers
user8744
myCSharp.de - Member



Dabei seit:
Beiträge: 1201

beantworten | zitieren | melden

Dann wirst du auch ganz an COM vorbei kommunizieren müssen. (z.B. via Remoting)
Alternativ musst du eben die Instanz einer COM sichtbaren .NET Klasse auf der Object Eigenschaft deines Addins platzieren.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von user8744 am .
private Nachricht | Beiträge des Benutzers
Marsti
myCSharp.de - Member



Dabei seit:
Beiträge: 124

Themenstarter:

beantworten | zitieren | melden

Danke; also leider tatsächlich so wie ich es "befürchet" hatte mit Umwegen.
private Nachricht | Beiträge des Benutzers