2008-09-16 10 views
5

マネージコード、特にIronRubyまたはIronPythonをC++やDelphiなどのunamanagedコードから呼び出すことは可能ですか?アンマネージドコードからのDLRの使用

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

答えて

8

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

2

はい。それはCom Callable Wrappersを使用して可能です。基本的には、Win32コード(DelphiまたはC++)から.NetクラスをCOM/ActiveXを通じて呼び出すことができます。

6

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

Hosting the Common Language Runtime

0

あなたはRemObjectsからHydraを見ましたか?私はそれについての経験はありませんが、イントロからは関連性があります。

3

代わりにCPythonを埋め込むことはできません。これには、C/C++から直接使用するAPIがあります。あなたは多言語の利点を失いますが、おそらく簡単になるでしょう。

2

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

関連する問題