2012-04-03 119 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的可選工具安裝。如果您願意,也可以單獨下載。