首页 文章

无法连接Delphi XE3内置的Com Object

提问于
浏览
1

我们有一个Delphi应用程序,它有一个内置的com对象 . 在Delphi XE3(Windows 8)中编译时,我们无法从Visual Studio C#中引用它 . 但是,在Delphi 2010(Windows 7)中编译的旧版本按预期工作 .

com对象注册没有错误,我可以使用Excel中的VBA脚本访问它 . 有没有人来过这样的事情?

1 回答

  • 2

    最可能的解释是比特不匹配 . 我假设COM服务器是32位,因为你在Delphi 2010中编译它 .

    假设您的COM服务器是进程内服务器 . 然后我猜你失败的主机是64位应用程序 . 如果是这样,那么你需要进行比特匹配 . 最有可能的目标是通过定位x86将主机切换为32位 .

    如果COM服务器不在proc中,那么问题在于注册而不是可执行位数匹配 . 它将在32位注册表视图中注册,但您的64位主机正在查看64位视图 . 这可以解释为什么您的32位Excel VBA代码可以找到它 . 您需要在32位和64位注册表视图中注册服务器 . 或者将主机切换到32位 .

相关问题