Managed Function aus Unmanaged Code aufrufen



  • Nachdem ich tagelang im Internet gestöbert habe und keine Antworten
    zu finden waren, werde ich mein problem mal hier posten.

    Problem:
    Ich muss von einem externen unmanaged C++-Projekt auf eine C#
    Schnittstelle zugreifen. Dafür brauche ich theoretisch einen
    Wrapper.
    Wie ich in meinen Recherchen erfahren habe ist die andere Richtung
    einfach zu realisieren. Bei meinem Problem kann ich aber vorher
    kein managed Objekt erzeugen, wie ich es in allen gefundenen
    Beispielen gesehen habe.

    Falls jemand weiß, wie es geht, dann wäre eine Antwort gewünscht 😉
    Beispiele mit Funktionspointern und delegates habe ich schon zur
    Genüge gefunden, die helfen mir aber so nicht weiter ^^

    Danke
    Doc



  • CrazyDoc schrieb:

    Ich muss von einem externen unmanaged C++-Projekt auf eine C#
    Schnittstelle zugreifen. Dafür brauche ich theoretisch einen
    Wrapper.
    Wie ich in meinen Recherchen erfahren habe ist die andere Richtung
    einfach zu realisieren. Bei meinem Problem kann ich aber vorher
    kein managed Objekt erzeugen, wie ich es in allen gefundenen
    Beispielen gesehen habe...

    Aus unmanaged C++ geht es selbst nicht (Außer über COM, sofern das C# Projekt entsprechendes mit erzeugt). Alternativ kannst du eine Wrapper-DLL in C++/CLI schreiben (siehe entsprechendes Unterforum), in der unmanaged- und managed- Code kombiniert werden können.

    cu André



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum C++/CLI mit .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Schreib einfach einen Wrapper in C++/CLI und lass dort eine "normale" C/C++ Methode aus der native LIB aufrufen. Diese kann dann via gcroot-Template eine Managed-Methode aufrufen.


Anmelden zum Antworten