Laden...

Managed Code/Objekte in Unmanaged Code verwenden

Erstellt von toxick vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.657 Views
T
toxick Themenstarter:in
153 Beiträge seit 2007
vor 16 Jahren
Managed Code/Objekte in Unmanaged Code verwenden

Hallo,

ich sitze nun schon ein ganz schönes Weilchen vor einem Problem.
Ich möchte aus einem Programm, das komplett im unmanaged Code geschrieben ist, managed Code aufrufen.
Ich hab schon ziemlich lange gesucht und auch einiges gefunden jedoch bin ich nicht wirklich schlau daraus geworden.

Kann mir da mal jemand ne kleine Hilfestellung geben ich das ganze anpacken muss.

meine Vorgehensweise war bisher, dass ich im managed code die Methode die ich aufrufen will als _declspec(dllexport) deklariert hab.

vielen dank schonmal im voraus

mfg
toxick

4.506 Beiträge seit 2004
vor 16 Jahren

Hallo toxick,

hier ist es sehr wichtig, in welcher Umgebung Du Dich befindest. Was für unmanaged Code ist das?

Also es gibt für C++, VB6 und VBScript die Möglichkeit über COM-Schnittstelle managed Code auszuführen und auch darüber Objekte bereitzustellen.

QuickBasic und Pascal unterstützen COM nicht, und daher fällt das flach (boah ja ich weiß, das ist extrem antik, aber mir fällt einfach nix anderes ein 😉

Also bitte schildere uns Deine Entwicklungsumgebung(en).

Viele Grüße
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

T
toxick Themenstarter:in
153 Beiträge seit 2007
vor 16 Jahren

hallo,

erst mal vielen dank für dein interesse an meinem problem.

also, entwickelt wird komplett im 2005er studio. programmiert wird mit c# und c++.
code aus dem unmanaged c++ soll code aus dem c# oder aus dem managed c++ teil aufrufen können.

gruß
toxick

4.506 Beiträge seit 2004
vor 16 Jahren

Hallo toxick,

ok, ich verstehe. Jetzt gilt halt zu sagen, nur weil es die selbe IDE ist, bedeutet es nicht, dass unmanaged C++ Code direkt per Methodenaufruf auf managed Code zugreifen kann.

Hier gilt genauso, als wenn in einer separaten IDE entwickelt wird, dass eine gemeinsame Schnittstelle bedient werden muss. Ich sage mal so: über COM ist es das bequemste.

Ich (persönliche Meinung) würde also in Deinem Fall in C#/managedC++ COM-Schnittstellen generieren, die über einfache Einbindung im unmanaged C++ dann aufrufbar sind.

Also schaue Dir einfach mal die Microsoft COM Technologie an, dann wird Dir damit geholfen werden.

Viele Grüße
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

369 Beiträge seit 2006
vor 16 Jahren

Mit C++/CLI (der mit VS2005 eingeführte Nachfolger von managed C++) kannst du sog. mixed-mode assemblies erstellen, in denen unmanaged und managed Code vereint ist. Um die "Details im Hintergrund" kümmert sich der Compiler.

Siehe auch:

  1. http://www.codeproject.com/managedcpp/cppcliintro01.asp
  2. MSDN Library