Veröffentlicht 12. Dezember 200618 j Hallo zusammen, ich suche nach einer Möglichkeit, eine .NET DLL aus einer C DLL aufzurufen. Das Umgekehrte geht ja mittels invoke "recht" einfach. Danke für any tips! Gruß, Mark
12. Dezember 200618 j Hallo marcom, soviel ich weiß brauchst Du eine C++ Wrapperklasse mit managed Extensions, welche entsprechende Funktionen exportiert. Gruß Markus
12. Dezember 200618 j Autor Hi Markus, Erstmal danke für Deine Antwort! Allerdings ist C++ / Managed Code für mich keine möglichen Optionen. Ich brauche reines C bzw. nur die ganz normale WINAPI. Evtl. könnte es mit COM funktionieren...? Gruß, Mark
12. Dezember 200618 j Evtl. könnte es mit COM funktionieren...?Wenn die .NET-DLL mit COM-Interop-Unterstützung gebaut wurde, ja.
12. Dezember 200618 j ...Ich brauche reines C bzw. nur die ganz normale WINAPI. Evtl. könnte es mit COM funktionieren...? ... In dem Fall ist dein Thread in der C-Ecke besser aufgehoben. ->moved
12. Dezember 200618 j Hallo marcom, C++ mit Managed extensions soll nur die Kommunikationsschnittstelle zwischen C und .NET sein. c -> Wrapper -> dotnet Falls Du COM verwendet willst, da hast Du Dir einiges vorgenommen. Ich hab das zwar nochnicht mit C benutzt, aber in C++ soll es schon recht schwierig sein einen COM Client zu basteln, zumal COM Interfaceorientiert ist und C nicht. (Kollegenaussagen)
12. Dezember 200618 j Autor @Markus, ah ok, verstehe! Ich habe noch nie mit COM gearbeitet und ich bin derzeit auch noch in der Designphase also bin ich für jede Option offen (solange es irgendwie aus C ansprechbar ist). Kennt jemand ein Tutorial in der sowas schon gemacht worden ist? Danke für die vielen Antworten! Gruß Mark
12. Dezember 200618 j Also wenn du noch nie mit COM gearbeitet hast ist das hier eher nicht für den Einstieg geeignet und du solltest es lieber über den Wrapper Weg machen den Markus dir vorgeschlagen hat. @MarkusLe Also wenn du zum Beispiel die MFC zur Verfügung hast ist ein COM Client nicht so schwer zu entwickeln, kommt dann auf die genauen Anforderungen drauf an
12. Dezember 200618 j Wenn es um ein ein reines (unmanaged) C/C++ geht, welches .NET-Klassen aufrufen soll: Entweder gehst Du über COM, oder Du must in Deinem Prozess die CLR selbst bereitstellen.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.