当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《在Delphi7中调用.net4.0构建的dll》经验,为你挑选了1个好方法。

搜索并应用以下问题的所有解决方案后,无法正常工作.我做了什么 - 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还有其他先决条件吗?



1> David Heffer..:

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

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

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


我想我已经回答了这个问题.你需要32位的regasm,因为主机exe是32位.
推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有