Frage

Ist es möglich, verwalteten Code aufzurufen, speziell IronRuby oder Ironpython aus unamanaged Code wie C ++ oder Delphi?

Zum Beispiel, wir haben eine Anwendung in Delphi geschrieben, die auf C # .NET bewegt werden Wir möchten Rubin- oder Python-Scripting in unserer neuen Anwendung bereitzustellen VBSCRIPT zu ersetzen. Allerdings müssten wir Rubin / Python-Scripting in der alten Delphi-Anwendung zur Verfügung zu stellen. Ist es möglich, die verwalteten DLLs von IronRuby / Ironpython von Delphi-Code zu nutzen?

War es hilfreich?

Lösung

Ja. Delphi für Win32 Beispiel hier: http://interop.managed-vcl.com/
Zeigt an, wie eine C # verwenden sowie eine Delphi.NET Montage von Delphi für Win32.

Andere Tipps

Es ist möglich, die CLR oder DLR in nicht verwalteten Code zu hosten, da es eine COM-Komponente ist. Von diesem Punkt können Sie die verwalteten Assembly, mit denen Sie interagieren müssen geladen werden.

Von MSDN: Hosting der Common Language Runtime

Warum einbetten CPython nicht statt, die eine API hat bestimmt direkt von C / C ++ verwendet werden. Sie verlieren den Vorteil, mehr Sprachen, aber wahrscheinlich Einfachheit gewinnen.

Ja. Das ist möglich mit Com Callable Wrappers . Grundsätzlich ermöglichen Sie Ihre .NET-Klassen durch COM / ActiveX von Ihrem win32-Code aufgerufen werden (Delphi oder C ++).

Ich benutze Unmanaged Exporte erstellt Schnittstelle zu Ironpython Script-Engine in C #. Seien Sie vorsichtig, wenn Sie .NET-Code von Win32 Delphi verwenden - Sie haben Set8087CW($133F); verwenden Gleitkomma-Ausnahme Verhalten zu ändern

.

Haben Sie gesehen Hydra von RemObjects? Ich habe keine Erfahrung mit ihm, aber aus dem Intro, sieht es relevant.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top