我正在开发一个Delphi7项目,该项目使用COM组件在delphi代码之外进行交互。所有这些组件都是用C#开发的。所有COM组件的Involked .tlb和.dll文件。也在注册表中注册。其他组件已经注册,可以在delphi代码中使用,除了一个。
当访问该特定COM对象的功能时,它会引发错误 -
项目ABC.exe引发异常类EOleSysError并显示消息'系统找不到指定的文件'。流程停止了。使用步骤或运行继续
我正在努力了解delphi中的COM部分,并检查了以下几个方面:
我曾经重建dll,将dll与delphi代码文件夹放在一起,并在delphi中使用相应的注册表项来使用COM组件。其他人使用相同的程序工作正常但不是这个。
我应该检查什么以解决此问题?
答案 0 :(得分:1)
您已在评论中确认您拥有64位程序集。您的Delphi编译器生成32位可执行文件。 32位可执行文件不能使用进程内64位COM服务器。虽然COM服务器已注册,但它已在64位COM注册表中注册。您的32位可执行文件搜索32位COM注册表并断定COM对象未注册。
您的选择: