Приветствую коллеги!
Продолжаю собирать коллекцию ошибок отработки скомпилированных интерфейсов и способы их решения.
Итак:
1. Пересобираю ранее разработанный алгоритм (как потомок oAlgoritm_Sys)
2. Указываю его имя в UserAlgor.lst
3. При настройке алгоритмов расчета, при выполнении ф-ии перерегистрации алгоритмов, при попытке регистрации моего алг. получаю сообщение
"Возникло необработанное исключение ExIfcBadCheckSum(ExRef) в<Имя_моего_интерфейса>несовпадение контрольной суммы ObjInterface ( 0 )"
Ранее этот алгоритм нормально работал, и, в принципе, если подключить старый ресурсник, в который он ранее был скомпилен, и перерегистрировать, то запись о нем нормально появляется в списке системных алгоритмов. Просто возникла насущная необходимость пересобрать ресурс, в который он входит...
С чем может быть связана данная ошибка и как ее побороть?
Несовпадение контрольной суммы ObjInterface
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Несовпадение контрольной суммы ObjInterface
см доку по vip-у
Все же наверняка у Вас не актульный/подправленный vih....
Когда бы ни случилась у вас исключительная ситуация с несовпадением контрольной суммы, знайте - описание объектного интерфейса, которое использовали вы, и описание, с которым собирались галактические сырцы, различаются. Пусть хотя бы на одну букву, но различаются. И единственный выход - получить актуальное описание (.vih или .obj-файл)Для обеспечения совместимости интерфейсов и исключения ситуаций, в которых использующий и используемый интерфейсы откомпилированы с различными описаниями объектных интерфейсов, для каждого объектного интерфейса вычисляется 32-разрядная контрольная сумма, учитывающая прототипы и имена всех методов, свойств и индексов данного интерфейса.
Во время компиляции используемого интерфейса в ресурсе сохраняется его описание, содержащее контрольные суммы объектных интерфейсов.
При компиляции вызовов public-функций, приведений типов, обращений к свойствам запоминаются контрольные суммы ожидаемых obj-интерфейсов. Во время выполнения контрольные суммы сравниваются и при их несовпадении возбуждается исключение ExIfcBadCheckSum.
Все же наверняка у Вас не актульный/подправленный vih....
-
- Абориген
- Сообщения: 943
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: External Developer
- Контактная информация:
Re: Несовпадение контрольной суммы ObjInterface
Денис, спасибо за наводку. Буду разбираться.
-
- Абориген
- Сообщения: 943
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: External Developer
- Контактная информация:
Re: Несовпадение контрольной суммы ObjInterface
Все ОК. Действительно, подключал не ту версию VIH. Все срослось.
Денис, спасибо. Жаль, плюсомет не работает
Денис, спасибо. Жаль, плюсомет не работает
Re: Несовпадение контрольной суммы ObjInterface
А еще вроде бы можно VIH не подключать, а грузить в компилятор описания объектов из ресурсов. Если указать параметр LoadIds
см.
http://www.tyumbit.ru/gal_forum/viewtop ... 112#p63112
см.
http://www.tyumbit.ru/gal_forum/viewtop ... 112#p63112