Ошибка при добавлении макроса

Программирование для CATIA.

Ошибка при добавлении макроса

Сообщение VladimirK » 17 фев 2012 18:44

Приветствую всех! При добавлении созданного ранее макроса catvba через Tools / Macro / Macros... / Add existing library возникает ошибка Visual Basic'а (изображения во вложении). После этого макрос добавляется в список библиотек, но не работает и даже в редакторе VB не распознаются такие вещи как CATIA.Application, например, хотя все нужные библиотеки типов подключены в References. Иногда бывает даже в редакторе VB не открываются формы. CATIA установлена правильно, тестировал на разных компьютерах и релизах CATIA, операционная система - Windows 7. Дело именно в самом catvba. Пока эта проблема решается только экспортом файлов модулей и форм из нерабочего catvba, установкой на виртуальной машине Windows XP и CATIA, созданием там нового макроса и импорте полученных ранее файлов модулей и форм. Потом этот макрос работает и на Windows 7, хотя версии системных библиотек, например FM20.dll, MSCOMCTL.OCX разные. Иногда даже возникает та же ошибка при импорте полученных файлов - тогда приходится просто копировать код и все элементы управления с формы на форму в новый проект. Может кто-то знает другое решение этой проблемы?
Вложения
VladimirK
Новичок
Новичок
 
Сообщения: 63
Зарегистрирован: 15 ноя 2011 21:44

Re: Ошибка при добавлении макроса

Сообщение zerganalizer » 17 фев 2012 20:22

Может, где в путях конфигов русские имена? Если 7 русская, то про траблы писали из-за русских букафф в имени профиля системы... У меня на русской 7 так было, но недолго (поставил 7 корпоративную с MUI). Не добавлялись макросы в библиотеку, причем не сразу, а спустя время отваливались и пропадали из списка без возможности добавить.
Автоматизирую все, что логично.
Аватара пользователя
zerganalizer
Moderator
 
Сообщения: 901
Зарегистрирован: 20 май 2008 15:20

Re: Ошибка при добавлении макроса

Сообщение Wireless_Fidelity » 18 фев 2012 20:52

Здравствуйте.

Возможна и другая причина.
Дословный перевод сообщения: "Библиотека типов неправильная или содержит ссылки на определения типов, которые не могут быть найдена". Вторая часть сообщения в переводе на человеческий означает, что библиотека (макрос) ссылается на объекты, которые не доступны на данном ПК. К примеру, макрос мог быть создан на машине, где стоял MS Office, и в References этого макроса был добавлен соответствующий ActiveX компонент Microsoft Excel 11.0 Object Library, который содержит определения типов объектов для автоматизации Excel'а. А вот на текущем ПК MS Office не установлен, соответствующей библиотеки нет, и поэтому VBA отображает ошибку.
Посему рекомендую проверить список подключенных References на исходной машине и сравнить его с тем, что задан на текущей. Думаю, понятно, что "все нужные библиотеки типов подключены в References" должно относиться не только к Катийным библиотекам, но и ко всем сторонним компонентам, как в примере выше. Причём версии библиотек не имеют значения, если сама библиотека реализует тот же компонент, на который идёт ссылка из catvba.

А ещё такая ошибка возникает, когда в одной библиотеке несколько десятков/сотни модулей. Но, думаю, у Вас не этот случай :)
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11

Re: Ошибка при добавлении макроса

Сообщение VladimirK » 06 мар 2012 12:10

Здравствуйте! Cпасибо вам за ответы, zerganalizer и Wireless_Fidelity !
Операционная система - Windows 7 русская, но в путях нигде нет кириллицы, имя профиля - тоже без кириллицы. Но ошибка все равно есть.
Все используемые библиотеки подключены в References и на компьютерах у пользователей, где предполагается использование макроса, есть все эти библиотеки. Иногда бывает, что макросы не добавляются в библиотеку у меня же на ПК (разработчика).
Пока решаю такую проблему только перекомпиляцией макроса и постепенным переходом написания утилит на VB6,
где получается полноценное Windows-приложение в виде *.exe-файла.
VladimirK
Новичок
Новичок
 
Сообщения: 63
Зарегистрирован: 15 ноя 2011 21:44

Re: Ошибка при добавлении макроса

Сообщение Artem » 07 мар 2012 08:36

А проблемы часом не на компах с двумя /тремя катьками? там р1 и р2, 16 и 19-20?...да еще глядишь один и тот же макрос юзается на обоих системах....
Итак делай вот че:
1)Заметил в свое время, если скажем я изменяю существующий проект, а потом их вместе подключаю к 16 (изменяю тоже в 16), то все нормально...а вот если их подрубить к 19 возникает тоже самое, причем если запускать только один из данных макросов(скажем через иконку) то все нормально, но второй запускаться не хотел...
..........Пока решаю такую проблему только перекомпиляцией макроса.........
- вот это помогало. Хотя для экспорта элементов и их импорта в новый макрос, перекомпиляция не совсем подходящее слово.
2) Для разных катек используйте разные макросы
3)тлбшки подключите по необходимому минимуму.
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14


Вернуться в CAA-RADE

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

Сейчас этот форум просматривают: YandexBot и гости: 2