none
Systemeigene unmanaged dll soll managed Funktionen/Klassen aufrufen RRS feed

  • Frage

  • Hallo!

    Ich muss die API eines 3. Anbieters verwenden um PlugIns zu erstellen.
    Das PlugIn muss eine Win32-Dll sein. (Ohne CLR)

    Ich habe mir jetzt gedacht, eine DLL zu erstellen, die ich dann dynamisch binde.
    Per Verweis auf das Projekt.

    Leider wird beim ändern auf CLR die exportiere Klasse nicht mehr gefunden.
    Ist es nicht so einfach?
    Und wie schaffe ich dann generell den Sprung aus einer unmanaged Funktion
    oder Klasse in eine Managed Objekt??

    Gruß Lars

    Montag, 22. April 2013 13:37

Antworten

Alle Antworten

  • Hi,

    das ist eine recht komplexe Sache, aber mit ein paar Tricks lässt sich auch das bewerkstelligen. Man benutzt hierfür Marshalling und Delegates: http://msdn.microsoft.com/de-de/library/367eeye0(v=vs.80).aspx

    Das Beispiel auf dieser Seite sollte alle Fragen klähren.

    Gruß,

      Peter

    • Als Antwort markiert Lamizi Mittwoch, 10. Juli 2013 05:23
    Dienstag, 9. Juli 2013 13:15
  • Du darfst natürlich nicht das ganze Projekt umstellen.
    Du musst weiterhin, den einen Teil, der die Plugin Schnittstelle liefert als Unmanaged Code deklarieren.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de

    Mittwoch, 24. Juli 2013 07:32
    Moderator