在Delphi 7中调用.net 4.0构建的dll

时间:2015-12-08 05:59:41

标签: c# .net delphi c#-4.0 dll

搜索并应用以下问题的所有解决方案后,无法正常工作。 我做了什么- 我在C#中创建了一个.dll,使其可见。 我用regasm抄了.tlb。 3.创建了一个Delphi 7项目,我导入了这个类型库(.tlb)并调用了这个dll的函数。 我的电脑上一切正常。

现在当我将这些所有文件(包括.dll,甚至.dcu)复制到另一台PC(安装了.Net framework 4.5)并尝试运行.exe时,它给了我错误" Class未注册",当我尝试使用RegSvr32注册时,它会显示错误 - " 未找到输入点"。

我还缺少什么?在另一台PC上运行带有dll的Delphi 7 exe还有其他先决条件吗?

1 个答案:

答案 0 :(得分:9)

要注册.net程序集,您必须使用regasm而不是regsvr32

使整个组件COM可见可能是一个错误。你真的想让所有公共类型的COM都可见吗?将ComVisible属性应用于特定类型会更常见。

您无需复制dcu文件。这些用作Delphi编译器的中间文件。假设您没有使用运行时包,只使用可执行文件,注册的程序集就足够了。