![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Exception EOleSysError [D5, Win95/98, WinME, NT4, Win2k, WinXP]
Дмитрий К.К. © (2002-12-05 08:16:00)При запуске приложения выводится сообщение-ошибка "Exception EOleSysError... Класс не зарегистрирован".
Знаю, что это связано с тем, что в моем приложении используется элемент ActiveX, не установленный на другой станции.
Но как с етим биться? Имеется в виду, как подавить вывод этого сообщения.
Дмитрий К.К. (2002-12-05 12:02:00) [1]
> Digitman © (05.12.02 11:51)
> А кто тебя заставляет делать приложение "без единой строчки
> кода" ? Что мешает создать OCX-контрол динамически, заключив
> конструирующую строчку в try..except ? Возьми и сделай)
Да, наверное, Вы правы. Сейчас попробую.
Digitman (2002-12-05 11:51:00) [2]
> Не все так просто. Куда его заключать?
> Допустим, делаю тестовое приложение, БЕЗ ЕДИНОЙ СТРОЧКИ
> КОДА, но с ОДНИМ компонентом ActiveX.
> Программа при запуске дает сообщение о "совершенной недопустимой
> операции".
А кто тебя заставляет делать приложение "без единой строчки кода" ? Что мешает создать OCX-контрол динамически, заключив конструирующую строчку в try..except ? Возьми и сделай)
KSergey (2002-12-05 11:33:00) [3]Дмитрий К.К. © (05.12.02 10:44)
Ну тогда Application.OnException обрабатывать. Хотя тут уже и не пустое приложение получтися, но, надеюсь, действительно пустое вы же не будете распространять?
Дмитрий К.К. (2002-12-05 10:44:00) [4]
> Digitman © (05.12.02 09:42)
> Очень просто. Как и любое другое исключение, данное исключение
> перехватывается помещением потенциально опасного кода в
> блок try..except
Не все так просто. Куда его заключать?
Допустим, делаю тестовое приложение, БЕЗ ЕДИНОЙ СТРОЧКИ КОДА, но с ОДНИМ компонентом ActiveX.
Программа при запуске дает сообщение о "совершенной недопустимой операции".
> FreeLancer © (05.12.02 10:27)
> Руками это можно сделать так:
> 1. Выяснить какой файл содержит требуемый элемент (*.osx,
> *.dll)
> 2. Учесть, что он может требовать наличия еще каких-либо
> файлов.
> 3. Найти в %Windows%\%System32% RegSvr32.exe, запустить
> его, в появившемся окне будет написано "что нужно делать".
Проблема не в регистрации ActiveX, проблема в том, чтобы задавить сообщение. (Положим, я и не собираюсь включать в дистрибутив программы ocx из-за его разбухания).
FreeLancer (2002-12-05 10:29:00) [5]P.S.
4. Для Windows 95/98/Me это находится в %Windows%\%System%
FreeLancer (2002-12-05 10:27:00) [6]2 Digitman © >
> Очень просто. Как и любое другое исключение, данное исключение
> перехватывается помещением потенциально опасного кода в
> блок try..except
И после этого его "элемент ActiveX" начнет работать везде?
2 Дмитрий К.К. © (05.12.02 08:16)>
Руками это можно сделать так:
1. Выяснить какой файл содержит требуемый элемент (*.osx, *.dll)
2. Учесть, что он может требовать наличия еще каких-либо файлов.
3. Найти в %Windows%\%System32% RegSvr32.exe, запустить его, в появившемся окне будет написано "что нужно делать".
Digitman (2002-12-05 09:42:00) [7]Очень просто. Как и любое другое исключение, данное исключение перехватывается помещением потенциально опасного кода в блок try..except