Как определить где валится ActiveX?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Как определить где валится ActiveX?

Сообщение kibernetics » 07.07.2017 (Пт) 16:16

Есть проект один...
Довольно большой, использует бесчисленное количество компонентов.
На девелоперской машине всё стартует.
А вот на клиентской машине скомпилированный ехешник при старте кидает ошибку
Run-time error '429': ActiveX component can't create object
Может есть способ узнать какой компонент не зарегистрирован в системе при старте приложения?

Sam777e
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 157
Зарегистрирован: 16.09.2010 (Чт) 4:33

Re: Как определить где валится ActiveX?

Сообщение Sam777e » 08.07.2017 (Сб) 1:47

Я несколько немолодой человек [ > 70 ], так что заранее смиренно прошу простить, если скажу не то ...

1. Предположим, что мы сами, руками, хотим создать некий объект;
нечто вроде [ еще раз биг сорри !! ]
CreateObject( ...
CoClass...


Надеюсь, что либо система сделает желаемое-требуемое, либо внятно даст по мозгам.

Так что мешает придумать непромокаемый порох?

Написать небольшую обработку текста форм/ы + проекта + ..., получить на выходе несложную программу последовательных ЯВНЫХ вызовов создания нужных объектов [ возможно - добавить On Error Resume Next ] и прогнать ее.

2. Не стоит думать-писать "бесчисленное количество" - лучше "большое", а еще лучше подсчитать - глядишь, при процессе и мысль придет . . .
Здоровья и удачи

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как определить где валится ActiveX?

Сообщение Хакер » 08.07.2017 (Сб) 17:50

kibernetics писал(а):Run-time error '429': ActiveX component can't create object
Может есть способ узнать какой компонент не зарегистрирован в системе при старте приложения?

Во-первых, важно заметить, что ошибка 429 не обязательно означает, что компонент на зарегистрирован. Он может быть зарегистрирован, но сбой его создания произойдёт по какой-то иной причине.

При старте приложения проверить все используемые контролы — теоретически можно. Но если ты не хочешь вручную или полу-автоматически поддерживать список этих контролов, а хочешь полностью автоматическую проверку, то полагаться такая проверка будет на недокументированные возможности.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Re: Как определить где валится ActiveX?

Сообщение kibernetics » 09.07.2017 (Вс) 18:39

Sam777e, чем старше человек, тем чаще он извиняется :)
зачем? мы же только общаемся. форум! и спасибо за советы!

Хакер
также спасибо за разъяснение.

У меня примерно нашлось понимание того, где могла бы быть ошибка.
Есть исходник этой библиотеки.

Как можно запустить дебаг-мод для исходника на продакшн машине, чтобы ехешник использовал не скомпилированную dll, а именно код исходника?
Т.е. из системы я сделаю regsrv32 /u my.dll, и надо экзешнику указать ссылку на использование кода под дебагером, мол это и есть полноценная dll.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 64

    TopList