【发布时间】:2009-01-06 15:41:59
【问题描述】:
是否可以在 Delphi 2007 for Win32 中使用 .NET DLL?我尝试以与 ActiveX 组件相同的方式导入 DLL,但它似乎不起作用(组件菜单 -> 导入组件 -> 导入 .NET 程序集。
有可能吗?如果可以,步骤是什么?
【问题讨论】:
标签: .net delphi delphi-2007
是否可以在 Delphi 2007 for Win32 中使用 .NET DLL?我尝试以与 ActiveX 组件相同的方式导入 DLL,但它似乎不起作用(组件菜单 -> 导入组件 -> 导入 .NET 程序集。
有可能吗?如果可以,步骤是什么?
【问题讨论】:
标签: .net delphi delphi-2007
【讨论】:
Atozed Software 的 CrossTalk 允许使用 Delphi 的 .NET 程序集,无需使用 COM,无需 DLL 注册,无需修改即可使用原始程序集。
【讨论】:
当然可以。你只需要告诉它你的代码的哪些部分应该可以通过这种方式访问。您可以通过 ComVisibleAttribute 做到这一点。最快的解决方法是将 [assembly:ComVisible(True)] 放入您的 .dpk 中,这会使所有内容都公开可见。然后你可以使用你尝试导入程序集的方法。
您还可以进行非托管导出,可以像常规 dll 文件一样调用。
【讨论】:
我认为你不能这样做,直接在同一个应用中混合托管和非托管代码。
不过,RemObjects 有一个名为 Hydra 的框架,允许您在同一个应用程序中使用 .Net 和 Win32。
【讨论】: