Проверка Active X DLL - ошибка среды выполнения 91 объектная переменная или переменная блока не установлена - PullRequest
0 голосов
/ 02 сентября 2010

Я создал скелет Active X DLL со свойством Instancing, установленным на MultiUse, и только одной функцией, которая ничего не делает, кроме всплывающего окна сообщения о том, что он был вызван.

Затем я создал тестовую программу идобавил библиотеку DLL в список своих ссылок.

Я добавил код, чтобы объявить переменную Classmodule библиотеки DLL, создать новый объект и вызвать функцию.

Во всех случаях я использовал завершение кода IntellisenseТак что VB6 определенно относится к DLL и ее классу и методу.

Однако, когда я запускаю тестер, он сообщает во время выполнения "объектную переменную ошибки 91 или не установлена ​​переменная блока" при попытке создать новый объект.

Это новая территория для меня, так что, надеюсь, это что-то очевидное.


Обновление: я добавил окно сообщения в DLL fn (), чтобы сказать, что оно было вызвано, затемзашел на реальный веб-сайт, который использует Active X для вызова DLL, и увидел окно сообщения - но я все еще получаю сообщение об ошибке в приложении VB Tester (!?)

Ответы [ 2 ]

1 голос
/ 02 сентября 2010

Было бы легче найти проблему, если бы вы могли опубликовать вызывающий код и класс DLL.

Вот предположение.Вы помните Set в строке, которая создает новый объект?

Правильный код

Set obj = New MyDLL.MyObject

Неверный код

obj = New MyDLL.MyObject
1 голос
/ 02 сентября 2010

Попробуйте изменить функцию в вашей активной x dll, чтобы вместо нее было возвращено сообщение.Покажите окно сообщения в коде вызова, а не в dll.

Иначе, попробуйте в командной строке regsvr32 «myDll.dll», а затем запустите свой код.

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