15

是否可以在 Delphi 2007 中为 Win32 使用 .NET DLL?我尝试以与 ActiveX 组件相同的方式导入 DLL,但它似乎不起作用(组件菜单 -> 导入组件 -> 导入 .NET 程序集。

有可能吗?如果可以,步骤是什么?

4

4 回答 4

10

如果您想要关于这样做的 Delphi 特定文章:

Jim McKeeth 通过 COM 使用 .NET 程序集

完成所有步骤后,这非常简单。

于 2009-01-06T17:17:38.317 回答
2

Atozed Software 的 CrossTalk 允许在不使用 COM 的情况下使用 Delphi 的 .NET 程序集,无需 DLL 注册,并且可以使用原始程序集而无需修改。

http://atozed.com/CrossTalk

于 2010-07-16T15:31:00.643 回答
1

你当然可以。你只需要告诉它你的代码的哪些部分应该可以通过这种方式访问​​。您可以通过 ComVisibleAttribute 做到这一点。最快的解决方法是将 [assembly:ComVisible(True)] 放入您的 .dpk 中,从而使所有内容都公开可见。然后您可以使用您尝试导入程序集的方法。

您还可以进行非托管导出,这些导出可以像常规 dll 文件一样调用。

于 2009-01-06T16:07:46.743 回答
-1

我认为你不能这样做,直接在同一个应用程序中混合托管和非托管代码。

然而,RemObjects 有一个名为Hydra的框架,它允许您在同一个应用程序中使用 .Net 和 Win32。

于 2009-01-06T16:02:25.147 回答