• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Проблемы с CBUILDERAUTO

Автор Альянс, 01.07.09, 11:51:20

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Альянс

Помогите, пожалуйста, новичку.
Делаю библиотеку под КОМПАС 9 LT, использую C++ Builder 6, CBUILDERAUTO.
Прочитал файл "Компиляция библиотек под K9LT.doc" с инструкциями и начал делать так:
1.Задайте пути к подключаемым модулям. Для этого вызовите команды Project - Options... - Directories/Conditionals - Include path и Library path.
Я добавил такие пути:
Include path - C:\Program Files\ASCON\KOMPAS-3D LT V9\SDK\Include
Library path - C:\Program Files\ASCON\KOMPAS-3D LT V9\SDK\Lib
2.Отключите файл библиотеки kAPI5bc.lib и подключите klAPI5bc.lib.
Зашёл в View->Project Manager и там файла kAPI5bc.lib (я взял пример Step3) нет, а стоит как раз нужный klAPI5bc.lib. Трогать его не стал.
3.Подключите новую библиотеку (файл с расширением tlb). Для этого выполните следующее.
3.1.Вызовите команду Project - Import type library - Add.
3.2.Выберите файл klAPI5.tlb.

Здесь взял файл из C:\Program Files\ASCON\KOMPAS-3D LT V9\SDK\Lib.
4.Укажите путь к корневой папке размещения примеров (Unit dir name).
Указал такой путь - C:\Program Files\ASCON\KOMPAS-3D LT V9\SDK\C++\CBUILDERAUTO
5.Нажмите кнопку Create Unit.
6.Переименуйте полученные файлы в kl_tlb.h, kl_tlb.cpp, kl_ocx.h, kl_ocx.cpp.
7.Отредактируйте в файле kl_tlb.cpp подключение .h файла.

Нажал, получил файлы, переименовал и отредактировал.
Зашёл в View->Project Manager и удалил из проекта C:\Program Files\ASCON\KOMPAS-3D LT V9\SDK\Include\kl_tkb.cpp, затем сам этот файл и в этой же папке - kl_tlb.h и включил в проект C:\Program Files\ASCON\KOMPAS-3D LT V9\SDK\C++\CBUILDERAUTO\kl_tlb.cpp.
Далее откомпилировал Step3LT.bpr и получил Step3LT.rtw
В КОМПАСЕ библиотека загружается нормально, но почему-то не рисует графики примеров, а диалоговые окна КОМПАСА выдают сообщения нормально. Иногда выбивает КОМПАС, а иногда после его закрытия ошибка "Память по адресу "..." не может быть "read" или "write""
Подскажите, пожалуйста, в чём дело может где я ошибся при создании kl_tlb.cpp/kl_tlb.h? :?:


Альянс

Сам же отвечаю.
Сделал всё правильно.
Только в первые разы в программах писал так:
01: ...
02: extern "C" IDispatch* far __export WINAPI CreateKompasObject();
03: ...
04: KompasObject* kompas = (KompasObject*)::CreateKompasObject();
05: ...
06: if (kompas) {
07:   Document2D* doc = (Document2D*)kompas->Document2D();
08:   if (doc) { ... } }
09: ...
Потом исправил 7 строкy:
07:   Document2D* doc = (Document2D*)kompas->ActiveDocument2D();
И графика начала рисоваться, и "глюки" пропали.
Вопрос снимаю. :)