Ошибка при подключении библиотеки Компас v17

Автор andoskek, 14.06.17, 10:12:35

« предыдущая - следующая »

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

andoskek

В новой версии компаса не подключаются прикладные библиотеки: Ошибка подключения приложения.
Даже стандартные скомпилированные примеры из папки SDK.
В чем может быть проблема?

Sabahs

Всё, нормально компилируется и подключается, в качестве примера - Step 12.
Прикрепил бы и саму библиотеку, но даже архив больше весит, чем ограничения форума, т.ч. извиняйте.

Sabahs

16.06.17, 08:09:55 #2 Последнее редактирование: 16.06.17, 08:20:25 от Sabahs
Уважаемый andoskek, в личную почту писать, ненужно, для этого форум есть.
Вы написали, что у Вас пробная версия, но Вы не написали истекла пробная лицензия или нет?
Если, лицензия кончилась, то добавить библиотеку, Вы сможете, а запустить - нет.
Прикреплю здесь самый простой пример Step1, который выдаёт сообщение.

andoskek

Спасибо за ответ.
Библиотека под 64 успешно запустилась, а в 86 нет.
Можете пожалуйста подсказать как скомпилировать свою библиотеку под 64? В чем отличие?

Sabahs

Отличия 32-х и 64-разрядных систем Вы должны понимать.
Компиляция смотрите картинки.

andoskek

Спасибо за ответ.
Я понимаю отличия) Просто я работаю в более старой Delphi 7 и не нашел там выбор разрядности.

Sabahs

В Delphi 7, этого нет, возможность компиляции 64-разрядных приложений, появилась начиная с Delphi XE2.

mrfistaha@gmail.com

Добрый день. Возникала такая же проблема как у автора темы. Компас 17 x64. Изучаю создания приложений, собираю dll из примера (Step1) в Visual Studio 2017 C#. В проекте платформа выставлена x64. В Компасе выбираю Приложение - Добавить приложение. выбираю dll и получаю ошибку подключения приложения.
Из прикрепленного в сообщении выше в этой теме Step1 x64 для Delphi, запустилась. Подскажите пожалуйста. Спасибо.

Дмитрий22

Для запуска dll,  написанных для среды .Net необходимо переходить на вкладку ActiveX и запускать оттуда зарегистрированные библиотеки. Вы должны понимать, что у вас внутри библиотеки байт-код для CLR, а не какой-то двоичный устаревшей конструкции (шутка). И подхода этот код требует специального.
Сделаем Компас лучше!

mrfistaha@gmail.com

Большой спасибо, разобрался. Зарегистрировал библиотеку, появилась в ActiveX и успешно запустилось. Но вот появилась другая проблема. Буду благодарен если поможете. Хотел сделать что бы она автоматически запускалась через Addin. Создал соответствующую ветку в реестре как написано в примере :

REGEDIT4

[HKEY_CURRENT_USER\Software\ASCON\KOMPAS-3D\AddIns\Step12]
"ProgID"="Steps.NET.Step12"   
"AutoConnect"=dword:00000001

Запускаю Компас и опять <Ошибка подключения приложения "Steps.NET.Step12"">  Повторюсь, в ручную запускается. Что я делаю не так ? Спасибо.



Sabahs

Имя должно быть полное.

mrfistaha@gmail.com

У меня .Net сборка dll. Взятая из примера в папки SDK. Как Дмитрий22 подсказал она должна запускаться как ActiveX библиотека, перед этим должна быть зарегистрированной. Добавить просто как dll не получается. Как написано в справке привожу:
"ProgID" - для ActiveX библиотек или "Path" - полный путь к файлу для простых библиотек. Если есть оба значения "ProgID" и "Path", то "Path" игнорируется. ActiveX библиотека должна быть зарегистрирована.

P.S.
И добавлю, что в 15 версии все работает. Не работает в 17, если только в ручную в самом Компасе не добавить приложение.