Entwickler-Ecke
Dateizugriff - Benutzung einer C-Sharp DLL
UliTs - Mo 17.01.11 14:14
Titel: Benutzung einer C-Sharp DLL
Hallo,
ich möchte eine DLL, die in C-Sharp geschrieben ist, in ein Delphi-Programm einbinden.
Als Test wurde mir eine C-Sharp DLL mit folgendem Quellcode zur Verfügung gestellt:
namespace test
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| { public class MyClass { /// Statische Methode. Addiert zwei Zahlen. public static int addiere (int a, int b) { return a + b; } /// Addiert zwei Zahlen. public int add(int a, int b) { return a+b; } } } |
Wie kann ich z.B. auf die Methode addiere zugreifen?
Uli
Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Mo 17.01.2011 um 13:34
UliTs - Mo 17.01.11 17:14
Hallo Luis,
vielen Dank für die schnelle Antwort!
dein Link beschreibt das Ganze um von Visual Basic Script aus auf eine C# DLL zuzugreifen (C# = C++?).
Ich vermute, dies wird dann unter Delphi auch mit Hilfe einer CLSId und Component Object Modell - Klassen funktionieren?
Das heißt, ich benötige von der C-Sharp-DLL eine CLSId und die DLL muss unter Windows registriert werden?
Uli
Robert_G - Mo 07.03.11 23:53
Falls das Thema noch aktuell ist, würde ich einfach mal (wie in letzter Zeit öfters)
meine Lösung zu dem Problem anbieten [
http://sites.google.com/site/robertgiesecke/Home/uploads/csharpprojecttemplateforunmanagedexports]
Was man damit kann, ist funktionen aus C# zu exportieren wie man es aus nativen Sprachen wie Delphi kennt.
Wenn das Projekt einmal mit dem Build Task ausgerüstet ist, geht einfach das hier:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| public class MyClass { [DllExport] public static int addiere (int a, int b) { return a + b; } public int add(int a, int b) { return a+b; } } |
Und in Delphi einfach das hier:
Delphi-Quelltext
1: 2:
| function Addiere(a, b : Integer) : Integer; stdcall; extern 'DeineCSharpLibrary' name 'addiere'; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!