Страница 1 из 2

Необработанное исключение

Добавлено: 18 окт 2009, 11:38
maikl
Еще одна проблема после обновлений. Выводим отчет в Exсel, пишет что возникло необработанное исключение EXOleBadCall (ExOle) Не найден метод "SetImplementationMode" объекта ......

Когда перешли на 8.1 год назад это все работало.
Где это искать подскажите пожалуйста?

Добавлено: 18 окт 2009, 12:45
m0p3e
Явно связано вот с этим:
http://www.tyumbit.ru/gal_forum/viewtop ... 5794#45794

Добавлено: 18 окт 2009, 17:01
maikl
Но мы не работаем с Open Office Calc.

Добавлено: 18 окт 2009, 18:19
KATZ
maikl
Возможно, у вас идет обращение к старой версии OLE-сервера. Попробуйте заново зарегистрировать GalXLSLib.dll.

Добавлено: 19 окт 2009, 12:11
maikl
Зановo зарегистрировал, не помогло. Причем дает сообщение только на отчетах, есть выаод в Excel, вызываемых из АРД. Если продолжить (ответить Да ) то отчет формируется.
Галактичекие работают (которые выводят в Excel)
Где копать то ?

Добавлено: 23 окт 2009, 18:21
KatiK
Здравствуйте! У нас тоже возникла такая же проблема. Плюс ко всему после успешного компилирования наших отчетов, проверяем отчет(формируется верно), и после этого невозможно сменить никакие интерфейсы, выдаются сообщения о невозможности их загрузки. Атлантис 23й. Помогите плиз, у кото решилась эта проблема.

Добавлено: 23 окт 2009, 18:22
m0p3e
Повторный запуск установки клиента Галактики помогает.
Как починить менее радикальным способом постараюсь узнать сегодня.

Добавлено: 23 окт 2009, 18:51
VAt
Способ пререустановки для нас практически утопичен:)
все пользователи запускаются с батников. Пока атлантис тестим еще, притормозим установку на рабочую базу.

Добавлено: 23 окт 2009, 20:30
Sniper
проверил у себя, 23 фикс, последние патчи.. свои ard отчеты простенькие, которые в excel выводят - все нормально прошло

полагаю в регистрации компонент стоит покопаться, и рег баты.. сначала unreg и потом уже reg запускать

Добавлено: 23 окт 2009, 21:31
Ольга
Тоже с этим столкнулись после установки последних обновлений.
Помогло это (как Sniper написал):
рег баты.. сначала unreg и потом уже reg запускать
заработало. :)

Добавлено: 24 окт 2009, 19:46
maikl
Покажите пожалуйста содержимое reg.bat.
Делал unreg, затем reg, не помогло.

Добавлено: 26 окт 2009, 11:38
m0p3e
Ответа от разработчика пока нет.
Починил у себя так - В сообщении об ошибке указан SID регистрации {xxxxxxxxxxx-xxxx-xxx и т.д.}. regedit. Поиском находим SID в секции HKEY_CLASSES_ROOT. В разделе InProcServer32 default-параметр имеет значение <путь к библиотеке>. Соответственно он у меня был указан к боевой (не обновленной). Поменял на путь к новой и сообщение об ошибке исчезло.
Можно предположить, что проблема если в реестре указан путь к библиотеке не поддерживающей данную функцию и обновление боевой БД пройдет прозрачно.

Добавлено: 26 окт 2009, 15:54
m0p3e
Вот:

Код: Выделить всё

Это ActiveX EXE\GalXLSLib.dll
Возникает ошибка, когда на машине используется несколько каталогов EXE 
Галактики, или вернее несколько GalXLSLib.dll.
Ошибка будет, если на машине зарегистрирован GalXLSLib.dll "старой версии".
В реестре текущий путь на GalXLSLib.dll находится: 
HKEY_CLASSES_ROOT\CLSID\{08A59DB9-1CA9-4F38-A6CF-B1CE0FC302B9}\InprocServer32
В момент установки обновления, патч менеджер сам должен регистрить новые 
версии ActiveX. Сбои регистрации обычно происходят:
- Если в момент установки обновления была открыта какае-то другая Галактика
- Если у пользователя Windows, нет прав на установку ActiveX (либо на 
модификацию реестра)
- Если у пользователя нет каких-то прав на каталог EXE (не знаю каких). 
Например если EXE находится на машине в другом домене - у меня не регистрит.
- Если обновление устанавливается не патч менеджером, а просто копированием, 
тогда ActiveX конечно не зарегистрится (так было)
-*** Последнее время добавилась еще одна проблема. Сама Гал-ка при 
возникновении каких-то событий (каких точно я так и не смог выяснить), сама 
регистрит ActiveX-ы из своего каталога EXE. Т.е. поставили мы обновление в 
"новую" Гал-ку. Патч менеджер их зарегистрил в каталог "новых" EXE. Зашли в 
"старую" Гал-ку, а Гал-ка их в свой каталог зарегистрила.

Для "принудительной" регистрации всех ActiveX Галактики, служит 
EXE\OCX\reg.bat, но там регистрация без вывода ошибок (ключ /s - лучше его 
снять). Лучше запустить так:
cd EXE\OCX
Regsvr32 /u ..\GalXLSLib.dll - отмена старой регистрации с выводом сообщений 
о выполнении
Regsvr32 ..\GalXLSLib.dll - регистрашия с выводом сообщений о выполнении
, тогда выведет сообщения. Перед запуском  убедиться что все Гал-ки закрыты. 
Но это просто чтоб все привести в порядок. Это не избавит от автоматической 
перерегистрации самой Гал-кой. Поэтому лучше просто скопировать новый 
GalXLSLib.dll во все EXE. Новый GalXLSLib.dll - совместим со старым.

Добавлено: 27 окт 2009, 13:07
maikl
Дает ошибку при регистрации
"ошибка при вызове loadLibrary ("C:\Gal810\exe\ocx\GalXLSLib.dll") не найден указанный модуль.
Хотя он лежит в в ОСХ.
Все остальные зарегистрировались нормально.
Что делать?

Добавлено: 27 окт 2009, 13:23
edward_K
Regsvr32 /s ..\GalXLSLib.dll
и в ocx сей файл лежать не должен, а в exe он подтягивает другие библиотеки.