是否有可能從不受管理的代碼(例如C++或Delphi)調用託管代碼,特別是IronRuby或IronPython?使用來自非託管代碼的DLR
例如,我們用Delphi編寫的應用程序被移動到C#.NET我們想提供Ruby或Python腳本在我們的新的應用程序,以取代VBSCRIPT。但是,我們需要在舊的Delphi應用程序中提供Ruby/Python腳本。是否可以使用Delphi代碼中的IronRuby/IronPython提供的受管dll?
是否有可能從不受管理的代碼(例如C++或Delphi)調用託管代碼,特別是IronRuby或IronPython?使用來自非託管代碼的DLR
例如,我們用Delphi編寫的應用程序被移動到C#.NET我們想提供Ruby或Python腳本在我們的新的應用程序,以取代VBSCRIPT。但是,我們需要在舊的Delphi應用程序中提供Ruby/Python腳本。是否可以使用Delphi代碼中的IronRuby/IronPython提供的受管dll?
是。德爾福爲Win32這裏舉例:http://interop.managed-vcl.com/
展示瞭如何使用C#以及德爾福一個Delphi.NET組裝爲Win32。
是的。這可以使用Com Callable Wrappers。基本上你可以通過你的win32代碼(Delphi或C++)通過COM/ActiveX來調用.Net類。
,能夠在主機非託管代碼的CLR或DLR,因爲它是一個COM組件。從這一點開始,您可以加載需要與之交互的託管程序集。
您看過的RemObjects Hydra?我沒有經驗,但從介紹看,它看起來很相關。
爲什麼不嵌入CPython的代替,其具有適合直接從C/C++中使用的API。你失去了多種語言優勢,但可能會獲得簡單性。
我用Unmanaged Exports在C#創建接口IronPython的腳本引擎。當您使用Win32 Delphi的.NET代碼時請小心 - 您必須使用Set8087CW($133F);
來更改浮點異常行爲。