【发布时间】:2010-12-25 06:00:30
【问题描述】:
我遇到了错误,
ActiveX 组件无法创建对象。
实际上,我有业务逻辑所在的 VB6 DLL,并且我在我的 VB.NET 应用程序中调用该 DLL 函数,所有 DLL 都依赖于其他 DLL。我从其中一个 DLL 中收到错误
有什么想法吗?
【问题讨论】:
我遇到了错误,
ActiveX 组件无法创建对象。
实际上,我有业务逻辑所在的 VB6 DLL,并且我在我的 VB.NET 应用程序中调用该 DLL 函数,所有 DLL 都依赖于其他 DLL。我从其中一个 DLL 中收到错误
有什么想法吗?
【问题讨论】:
通常该错误指向未注册的 COM dll。您需要查看调用链并找出您需要哪些 COM 组件并确保它们可用。 Process Monitor(来自 sysinternals)可能会在它从注册表中读取但找不到时帮助您找到它。
【讨论】:
还要检查权限。运行 vb.net 应用程序的用户帐户需要权限才能创建 vb6 dll
【讨论】:
四个常见原因是:
1. 您没有所需的 TLB 或 ActiveX DLL/OCX 文件
2. 项目所需的 TLB 或 ActiveX DLL/OCX 存在但未在您的系统上注册
3. VB 运行时版本比您运行项目所需的版本更早
4. 所需的 TLB 或 ActiveX DLL/OCX 文件损坏
麻烦的DLL源代码你有吗?
【讨论】:
进程监视器肯定会帮助找到丢失的 DLL,但通常使用Dependency Walker 可以更快地完成任务。
【讨论】: