Laden...

EXE Anwendung auch als Com-Objekt

Erstellt von Grimmbizkit vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.240 Views
G
Grimmbizkit Themenstarter:in
310 Beiträge seit 2006
vor 17 Jahren
EXE Anwendung auch als Com-Objekt

Abendzusammen,

ich habe eine EXE-Anwendung programmiert. Nun möchte ich aber einige Funktionen und Eigschaften so nutzen, das ich meine Exe Anwendung in einer anderen Programmiersprache nutzen.

Was muss ich dafür einstellen bzw. hinzufügen??

Und geht das so einfach.#Kenne mich damit nicht wirklich aus.

Wie kann ich die Funktionen und Eigenschaften freigeben?

Gruß Simon

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo Grimmbizkit,

dafür sind eigentlich DLLs. Und wenn das programmiersprachenübergreifend gehen soll, dann müssen das Standard-C-DLL sein, die man in C# nicht direkt erstellen kann.

herbivore

3.971 Beiträge seit 2006
vor 17 Jahren

Original von Elric
Ja, das liegt an dem InterfaceType.None. Mir fallen im Moment 2 Möglichkeiten ein (ich glaub es gibt noch eine einfachere, aber da müßte ich erst noch in meinem alten Code recherchieren.)

Du setzt den InterfaceType von None auf Autodual. Dann siehst Du die Methoden im VB6. Die MSDN sagt allerdings "Using AutoDual is strongly discouraged ". Man sollte es also nur zum Entwickeln setzen und später wieder auf None.

Oder:

Du machst Dir ein Interface, musst aber dann der Klasse das Interface als Source geben. In Deinem Fall also ungefähr so:

  
  [GuidAttribute("7121BBE3-0F4A-428a-A6E5-978378AC92D4"), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)]  
  public interface IMyBRP  
  {  
  	[DispId(1)] string CurrentTime();  
  }  
  
  
  
  [ClassInterface(ClassInterfaceType.None),	Guid("f525452c-61ae-46ec-8818-11f920fd39f7"), ComSourceInterfaces(typeof(IMyBRP))  
  		]  
  public class MyBRP:IMyBRP   
  
  {  
  	public string CurrentTime()  
  	{  
  		return DateTime.Now.ToString();  
  	}  
  
  	public MyBRP()  
  	{  
  	}  
  	  
  }  
  

Schönes Wochenende.
Elric

Oder Siehe dazu auch Guckst du

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...