DLL in Vb.net geschrieben und in C++ verwenden?

  • Allgemein

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Dodo.

    DLL in Vb.net geschrieben und in C++ verwenden?

    also.
    erstmal vorab: von groß und kleinschreibung weiß ich nix. :D
    ehm ich habe eine DLL in vb.net geschrieben.

    VB.NET-Quellcode

    1. Public Module 1
    2. Public Shared Function HandleMsg(ByVal Tee As Object, ByVal Message As String, ByVal Game as Object) As Boolean
    3. Select Message
    4. Case "/lol"
    5. Tee.LassSpringen();
    6. Return True
    7. End Select
    8. Return False
    9. End Function
    10. End Module


    Und in C++ sieht das eigentlich so aus, dass in der Klasse von "Tee" also die Funktion "LassSpringen" drin steht.
    also:

    Quellcode

    1. void LassSpringen()
    2. {
    3. this.jump();
    4. }



    Und das ist alles nur beispiel.
    Aber wie komme ich jetzt dazu, dass ich in c++ diese Library reinbauen kann?
    Dass ich mitten im Source von C++ sozusagen mit .Net programmiere, wegen der DLL?

    Geht das überhaupt?
    Habe mal was von CLR gehört, aber was muss ich da genau machen?
    Bitte keine Links die auf Englisch oder so sind, mir ist es schon oft vorgekommen dass ich dann
    eine millionen fragen gestellt habe. :O


    Danke,
    BeefyX
    Um das .NET-Framework in C++ zu verwenden, musst du mit C++/CLI arbeiten.
    Das ist mehr oder weniger eine Kombination aus nativem C++ und dem .NET-Framework, was einem einige Dinge vereinfacht.
    Ansonsten ist es denke ich eher nicht möglich, eine .NET-DLL in einer nativen C++-Anwendung zu verwenden, umgekehrt jedoch schon.
    Korrigiert mich bitte, falls ihr es besser wisst.
    @haiyyu: Nicht richtig.
    @TE:
    Jede in .NET erstellte DLL kannst Du in einem .NET-Programm als verwenden.
    1. füge sie als Verweis hinzu und importiere ihren Namespace oder schreibe einfach den Namen des Namespaces hinzu, da werden die zugreifbaren Member angezeigt.
    Wenn in der DLL natürlich keine public Member enthalten sind - Pech oder übernimm den Namen des Namespaces für Dein Programm, dann müsste auch Friend gehen (da bin ich mir nicht ganz sicher).
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany:
    Hmmhmhmh.
    haiyyu hat verstanden, was ich wollte.
    Du hingegegen nicht.
    Du erklärst mir was vom Pferd dass ich hier ne .Net dll in .net verweden soll aber das KANN ICH DOCH SCHON ALLES.
    Also.
    Wie gesagt: Wie verwende ich eine in .Net geschriebene DLL in C++?
    Wenn sich einer was mit Teeworlds auskennt würde ich gerne wissen, obs Nativ oder das andere ist oder so. :D
    und wie genau geht das mit dem CLI?:(
    Korrekt.
    .NET kann (praktisch) jede beliebige DLL einlesen (.NET, C++, C, ...)
    C++ kann nur C++, C, ...-DLLs einlesen (API).
    Diese Systeme sind abwärts- nicht aber aufwärtskompatibel.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Nein der Link sieht mir nicht nach dem aus was du suchst...
    Aber ist auch in Nativem C++ sehr wohl möglich .Net dlls zu verwenden, indem man den LI-Code ausführen lässt über einen CLR Host...:
    blogs.msdn.com/b/calvin_hsia/archive/2006/08/07/691467.aspx

    Ich denke nur, dass du kaum deutsche Sachen dazu finden wirst...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Eine andere Frage, wieso nutzt man .NET-DLLs in C++ ?? C++ ist weitesgehend Platformunabhängig, wieso dann eine Funktion auslagern wo ein mega Framework mit dranhängt, was auf dem Systemen installiert sein muss?

    Alles was in .NET möglich ist, ist ebenso in C++ möglich zu programmieren O.o

    Baust du gerne in einen Ferrari einen Trabimotor ein?