繁体   English   中英

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

[英]Calling .net 4.0 built dll in Delphi 7

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

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

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

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

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

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

暂无
暂无

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

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