Mit C++ auf C#-Funktionen zugreifen
-
Hallo Leute!
Ich habe folgendes Problem! Ich wollte eigentlich nur wissen, ob das möglich ist? Falls nicht, würde ich eine andere Möglichkeit finden. Bitte nur antworten, wenn keine Belehrung kommen.
Ich muss mich mit dem Microsoft SDK Surface beschäftigen. Ich habe mir gedacht, dass ich unter Visual Studio 2008 Funktionen, die das sdk von Microsoft benutzen, unter einer C++-Umgebung aufrufe. Die Funktionalität wollte ich in einer C#-DLL packen (muss aber nicht sein, wenn es eine andere Möglichkeit gäbe).
Beispiel:
Die C#-Sharp dll trackt z.B. die Position der Finger eines Anwenders. Die C#-dll soll mir einfach nur die Position + Triggerung der einzelnen Finger zurück liefern. Unter der C++-Umgebung sollte ich die c#-Funktionen aktivieren können, und auf deren Parameter zugreifen können!Ist das grundsätzlich überhaupt möglich? Wenn ja, wäre ein Tipp wie ich vorgehen könnte sehr nett! Das würde mir das suchen nach Lösungen erleichtern.
Grüße
-
Hallo
Wenn Du auf C++/Cli als Interopschicht verzichten willst, könnte Dir vielleicht folgendes Helfen:
http://www.codeproject.com/Articles/16310/How-to-Automate-Exporting-NET-Function-to-Unmanage
http://www.xatlantis.ch/education/csharp_binding.html#DLLExportGetestet habe ich das noch nie, aber falls Du es zum laufen kriegst, kannst Du uns ja mal Deine Erfahrungen mitteilen.
Ich schätze aber mal, dass das Surface-Framework komplexe Objekte im Speicher halten muss, Eventgesteuert ist und vereinzelte Funktionsaufrufe von C++ nach C# nicht zielführend sind.
-
Ja, ich werde es mal durchspielen!
Ich berichte dann mal über meine Erfahrung!
Grüße
-
Eine Möglichkeit:
Man kann in .NET Sprachen COM Objekte implementieren.
Auf die kann man dann aus C++ zugreifen, weil's halt ganz normale COM Objekte sind, die bloss mit .NET implementiert werden.