繁体   English   中英

使用非托管代码中的DLR

[英]Using DLR from Unmanaged Code

是否可以从非托管代码(如C ++或Delphi)调用托管代码,特别是IronRuby或IronPython?

例如,我们有一个用Delphi编写的应用程序正在转移到C#.NET我们想在我们的新应用程序中提供Ruby或Python脚本来替换VBSCRIPT。 但是,我们需要在旧的Delphi应用程序中提供Ruby / Python脚本。 是否可以使用Delphi代码中IronRuby / IronPython提供的托管dll?

是。 Delphi for Win32示例: http//interop.managed-vcl.com/
演示如何使用Delphi for Win32的C#和Delphi.NET程序集。

可以在非托管代码中托管CLR或DLR,因为它是COM组件。 从那时起,您可以加载需要与之交互的托管程序集。

从MSDN: 托管公共语言运行时

为什么不嵌入CPython,它有一个直接用于C / C ++的API。 你失去了多语言优势,但可能会变得简单。

我使用Unmanaged Exports在C#中创建了IronPython脚本引擎的接口。 使用Win32 Delphi的.NET代码时要小心 - 你必须使用Set8087CW($133F); 更改浮点异常行为。

是。 这可以使用Com Callable Wrappers 基本上,您可以通过win32代码(Delphi或C ++)通过COM / ActiveX调用.Net类。

你看过RemObjects的Hydra吗? 我没有经验,但从介绍来看,它看起来很相关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM