Laden...

Nützliche Funktionen von anderen Programmen aus C# Applikation heraus aufrufen: COM Server?

Erstellt von texMan vor 6 Jahren Letzter Beitrag vor 6 Jahren 2.430 Views
T
texMan Themenstarter:in
21 Beiträge seit 2017
vor 6 Jahren
Nützliche Funktionen von anderen Programmen aus C# Applikation heraus aufrufen: COM Server?

Hallo zusammen,

ist möchte gerne nützliche Funktionen mit Dialogen aus einer C# Applikation von anderen Programmen heraus z.B. VBA aufrufen.

Ist dafür ein "COM Server" bzw. die Ole Automation noch die angesagte Methode oder wie macht man das heutzutage in c#.

2.207 Beiträge seit 2011
vor 6 Jahren

Hallo texMan,

ich habe mal den Titel in das geändert, von dem ich annehme deine Fragestellung zu treffen. Falls es was besseres gibt, ändere es bitte entsprechend.

Gruss

Coffeebean

T
texMan Themenstarter:in
21 Beiträge seit 2017
vor 6 Jahren

Danke.

6.911 Beiträge seit 2009
vor 6 Jahren

Hallo texMan,

nützliche Funktionen mit Dialogen

Meinst du den Dialog mit C# erstellen und dann in VBA verwenden?
Auch wenn ich da keine praktische Erfahrung habe, so wäre das wohl via COM möglich.

Generell würde ich aber keine UI / Dialoge bereitstellen, sondern nur die Logik dahinter und die UI in der "Zielplattform" erstellen.
Da aber eine .net-Dll ohne COM ohnehin in VBA nicht verwendet werden kann*, so können UI / Dialoge schon bereitgestellt werden.

Je nach Art deiner "nützlichen Funktionen" könntest du auch überlegen ob du diese nicht allgemeiner per Service (HTTP geht in VBA) bereitstellst, so dass du nicht auf COM beschränkt bist.

* ich gehe davon aus dass dies immer noch stimmt

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

H
523 Beiträge seit 2008
vor 6 Jahren

Du kannst ohne Probleme eine COM-DLL in c# schreiben und diese in VBA einbinden. Ich hab' das schon öfter gemacht bzw. machen müssen.

Bei mir ging es beispielsweise darum ein Fremdprodukt, welches keine COM-Schnittstelle mehr anbietet, in eine alte VB6-Anwendung zu implementieren. Das ging dann nur über den Umweg einer c# COM-DLL.

T
texMan Themenstarter:in
21 Beiträge seit 2017
vor 6 Jahren

Gibt es irgendwo Informationen wie man so eine COM-DLL in C# erstellt?

16.806 Beiträge seit 2008
vor 6 Jahren

Auf diese Frage genau geantwortet: mit Sicherheit.

P
1.090 Beiträge seit 2011
vor 6 Jahren

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern