Страница 1 из 2
Необработанное исключение
Добавлено: 18 окт 2009, 11:38
maikl
Еще одна проблема после обновлений. Выводим отчет в Exсel, пишет что возникло необработанное исключение EXOleBadCall (ExOle) Не найден метод "SetImplementationMode" объекта ......
Когда перешли на 8.1 год назад это все работало.
Где это искать подскажите пожалуйста?
Добавлено: 18 окт 2009, 12:45
m0p3e
Добавлено: 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 он подтягивает другие библиотеки.