質問

C++ や Delphi などのアンマネージ コードからマネージ コード、具体的には IronRuby や IronPython を呼び出すことは可能ですか?

たとえば、Delphi で書かれたアプリケーションを C#.NET に移行する予定です。新しいアプリケーションでは、VBSCRIPT を置き換える Ruby または Python スクリプトを提供したいと考えています。ただし、古い Delphi アプリケーションで Ruby/Python スクリプトを提供する必要があります。IronRuby/IronPython が提供するマネージド DLL を Delphi コードから使用することはできますか?

役に立ちましたか?

解決

はい。Delphi for Win32 の例は次のとおりです。 http://interop.managed-vcl.com/
C# と Delphi for Win32 の Delphi.NET アセンブリを使用する方法を示します。

他のヒント

CLR または DLR は COM コンポーネントであるため、アンマネージ コードでホストできます。その時点から、対話する必要があるマネージド アセンブリを読み込むことができます。

MSDN より: 共通言語ランタイムのホスティング

代わりに、C/C++ から直接使用することを目的とした API を備えた CPython を埋め込んでみてはいかがでしょうか。複数言語の利点は失われますが、おそらくシンプルさは得られます。

はい。それは次を使用して可能です Com呼び出し可能なラッパー. 。基本的に、win32 コード (Delphi または C++) から COM/ActiveX を介して .Net クラスを呼び出せるようにします。

私が使う 管理されていないエクスポート C# で IronPython スクリプト エンジンへのインターフェイスを作成しました。Win32 Delphi の .NET コードを使用する場合は注意してください。 Set8087CW($133F); 浮動小数点例外の動作を変更します。

見たことがありますか ヒドラ レムオブジェクトから?私には経験がありませんが、イントロからは関連性があるように見えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top