ActiveX не может создать объект - PullRequest
1 голос
/ 03 апреля 2012

В моей 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 Ответ

1 голос
/ 18 апреля 2012

Я бы порекомендовал вам временно добавить жесткую ссылку на «DBConnections2.dll» через пункт меню Project-> References.Вы должны увидеть DLL в списке литературы и иметь возможность выбрать ее.Если вы этого не сделаете, нажмите кнопку «Обзор» и добавьте ее.

Теперь создайте ссылку с ранней привязкой вместо использования «CreateObject».Войдя в функции, вызывающие эту DLL, вы сможете определить, на какой объект не ссылаются.

Однако, если вам все еще не удается докопаться до плохой ссылки, вполне вероятно, что "DBConnections2.dll "содержит ссылку на одну или несколько зависимых DLL, которые вы либо пропустили, либо не зарегистрировали.В этом случае вы можете использовать приложение Dependency Walker, чтобы открыть библиотеку DLL и определить, какие ссылки DLL указаны в списке как отсутствующие.

Программа Dependency Walker доступна в виде дополнительной установки инструментов с помощью Visual Basic 6.Вы также можете скачать его отдельно, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...