2012-04-03 135 views
1

在我的VB6的dll我不断收到此错误的ActiveX无法创建对象

代码:429
的ActiveX不能创建对象

这是我的表单代码

Dim objAS400Price As New ReportTester.clsAS400PriceDiscr 
Set objAS400Price = New ReportTester.clsAS400PriceDiscr 
lngRetVal = objAS400Price.Report("AS400 Price Discrepancy Report", "AS400 Price Discrepancy Report", "C:\Temp", "Excel", "MASTERYY", "tschock", "NONE", "Local", True, "[email protected]") 

这是从dll连接对象

Set objDBConn = CreateObject("DBConnections2.DataAccess") 

我用regsvr32在我的本地机器上注册了“DBConnections2.dll”,但错误仍在发生。有什么建议为什么发生这种情况?

+1

因为你注册了一个错误的DLL?或者你的CreateObject代码错误(或错误输入)?它可以是很多事情。查看ActiveX组件的工作示例,以查看您做错了什么。无法访问您的系统很难给您一个很好的答案。 – Martin 2012-04-04 07:27:36

回答

0

我会建议您通过菜单项Project-> References暂时添加一个对“DBConnections2.dll”的硬引用。您应该在引用列表中看到DLL并能够选择它。如果你不这样做,请点击“浏览”按钮并添加它。

现在创建一个早期绑定引用,而不是使用“CreateObject”。通过进入调用这个DLL的函数,你可能能够辨别哪个对象没有被引用。

但是,如果您仍然无法到达错误引用的底部,则可能是“DBConnections2.dll”引用了一个或多个依赖的DLL,但您缺少或没有注册。在这种情况下,您可以使用Dependency Walker应用程序打开DLL并确定将哪些DLL引用列为缺失。

Dependency Walker可作为Visual Basic 6的可选工具安装。如果您愿意,也可以单独下载。