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

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

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

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

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

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

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

C++ среды для КОМПАСа

Автор Sprinter500, 22.09.20, 20:32:53

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

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

Sprinter500

Добрый день! В SDK Компаса приведены примеры только для Visual C++ и С++Builder. Но помимо них есть и много других IDE под язык C++, например ныне популярный QT Creator. У кого был опыт написания кода под Компас в данных нестандартных IDE? Есть ли свои подводные камни? И какие особенности подключения?

Slaviation

Добрый день.
Если не путаю, QT можно подключить к Visual Studio, при этом файлы форм (не помню как они в QT точно называются) будут в проекте Visual Studio и будут редактироваться в QT Creator.

Sprinter500

Цитата: Slaviation от 23.09.20, 08:50:56Добрый день.
Если не путаю, QT можно подключить к Visual Studio, при этом файлы форм (не помню как они в QT точно называются) будут в проекте Visual Studio и будут редактироваться в QT Creator.


Без Visual Studio не будет работать написанное на QT что ли?

PS

Цитата: Sprinter500 от 23.09.20, 21:11:39Без Visual Studio не будет работать написанное на QT что ли?
Будет, если выполните требования к созданию библиотек для Компас.

Sprinter500

Цитата: PS от 24.09.20, 10:52:29Будет, если выполните требования к созданию библиотек для Компас.


Ясно, спасибо!

Sprinter500

А как в Visual Studio под C++ подключиться к Компасу и в рамках RTW и в рамках внешнего EXE-приложения? Даже существующие примеры не хотят компилиться - под Компасом19 - выдает ошибку о необходимости скачивания MFC-библиотеки, а версий ее много, и какую бы я не качал ни одна не подходит. Под К15 - выдается другая ошибка (какая уже не помню). Также пробовал в свежем C++Builder подключиться опираясь на статьи Сергея Норсеева на Хабре - получилось в варианте внешнего EXE, но опять таки примеры SDK для RTW-библиотек не хотят компилиться, тоже ошибка, но другая не как в студии. Мни C++Builder конечно нравится простотой пользотвательского интерфейса, но в нем уже очень дубовый и неинформативный аналог студийной IntelliSence. Поэтому хочется подружится именно с разработкой под Компас в C++ в Visual Studio, не смотря на положительный опыт в C# - так как в C# можно делать лишь ActiveX, а не классические библиотеки.

P.S. Если у кого есть работоспособные и компилируемые примеры ("рыбы") c++-ных проектов буду очень рад если поделитесь. Нужен просто шаблон, который подключается через АПИ5 и АПИ7 и к примеру строит отрезок.

В SDK есть примеры библиотек. Не подойдёт?

Sprinter500

Цитата: Вячеслав Никонов от 18.12.20, 17:48:29В SDK есть примеры библиотек. Не подойдёт?

Что-то ошибки вылазят и требуют MFC-библиотеку, только в списке вариантов установки этих MFC библиотек тьма, не знаешь какую именно выбрать, и какую бы не выбрал каждый раз не подходящая.

Sprinter500

Добрый день, всем! Удалось установить требуемую MFC и теперь примеры RTW библиотек компилируются. Осталось решить проблему с подключением к Компасу из под EXE-приложения. Пока что делаю так: добавляю ссылку на TLB-файлы либо на те что в SDK, либо на зарегистированные в системе. Однако, пользясь примером из статьи Норсеева:

KompasObjectPtr kompas;
//Запускаем КОМПАС
kompas.CreateInstance(L"KOMPAS.Application.5");
//Делаем его видимым
kompas->Visible = true;
//Отключаемся от него
kompas.Unbind();

, у меня не определяется KompasObjectPtr.   Что нужно сделать или что нужно подключить еще чтобы студия узнала KompasObjectPtr и определила его?


Еще вопрос: такое подключение из под EXE - это обычный способ COM или Automation? Я так понимю RTW-библиотеки через COM "срастаются" с ядром Компаса и работают с высочайшей скоростью, в отличие от Automation? Возможно ли из под EXE подключиться через COM подобно RTW, чтобы такая же скорость получилась?

Sprinter500

Рано обрадовался - примеры библиотек хоть и скомпилировались без ошибок, но не хотят в Компасе открываться. Пишет "ошибка подключения". Похоже или все-таки не ту MFC установил, или версии Net Framework. Или еще что. Кто подскажет?