ActiveX无法创建对象

时间:2012-04-03 16:01:18

标签: vb6

在我的vb6 dll中,我一直收到此错误

  

代码: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, "TSchock@ashleyfurniture.com")

这是来自dll的连接对象

Set objDBConn = CreateObject("DBConnections2.DataAccess")

我使用regsvr32在本地计算机上注册“DBConnections2.dll”,但错误仍在发生。为什么会发生这种情况的任何建议?

1 个答案:

答案 0 :(得分:1)

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

现在创建一个早期绑定引用,而不是使用“CreateObject”。通过单步调用此DLL的函数,您可以识别哪个对象未被引用。

但是,如果您仍然无法找到错误引用的底部,那么“DBConnections2.dll”可能会引用您丢失或未注册的一个或多个相关DLL。在这种情况下,您可以使用Dependency Walker应用程序打开DLL并确定哪些DLL引用被列为缺失。

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