Не запускается Step1 C#

Автор freestyler, 07.03.25, 10:52:35

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

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

freestyler

Коллеги, прошу помощи!

До этого много работал с Inventor API, и вот теперь переезжаю на Компас API, споткнулся в самом начале :-(

Скачал и установил SDK, открыл пример Step1 на C#, скомпилировал (ошибок при компиляции не было, все ссылки подключились).
Иду в Компасе в Приложения-Добавить приложение, выбираю скомпилированную .dll, получаю ошибку
"Ошибка подключения приложения D:\VSProjects\Kompas\Automation\Step1\obj\Debug\Step1.dll".

Пробовал другие примеры, то же самое.
Что я могу не так делать? Где хотя бы искать подробности, какая именно ошибка? Может лог какой-нибудь есть?

Работаю на Компас-3D 22.0.0.1302 (x64)

Lemieux

ComVisible галочка стоит?

freestyler


Lemieux

КОМПАС от админа запущен?
+ Благодарностей: 1

UU

Я C# не знаю, работаю на Delphi, могу ошибаться, как Вы подключаете библиотеку?
Вроде они должны подключаться, как ActiveX.
+ Благодарностей: 1

Дмитрий22

+ Благодарностей: 1

freestyler

Цитата: UU от 07.03.25, 12:58:35Я C# не знаю, работаю на Delphi, могу ошибаться, как Вы подключаете библиотеку?
Вроде они должны подключаться, как ActiveX.
Цитата: Дмитрий22 от 07.03.25, 13:08:28https://forum.ascon.ru/index.php?topic=30307.msg279120#msg279120

Точно! Меня сбило с верного пути, что на вкладке загрузки приложения RTW можно выбрать тип файлов "Компас-приложения dll", а вкладку ActiveX даже не заметил.

Всем большое спасибо за подсказки!

freestyler

Аппну тему, так как вопрос смежный и плодить еще одну наверно нет смысла.

Написал простейший плагин с единственной кнопкой Hello world. На своей машине подгрузил в компас, всё получилось, работает.

Скопировал dll на машину коллеге, зарегистрировал (C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe C:\Test\Test.dll /codebase), подгрузил в компас - пункт меню появился, но при нажатии выдает ошибку ("Невозможно привести COM-объект типа "System._ComObject" к интерфейсному типу "Kompas6API5.KompasObject". Интерфейс не поддерживается".) в модуле ExternalRunCommand на строку
kompas6 = (Kompas6API5.KompasObject)kompas_;


Поискал на той машине, а Kompas6API5.dll там нет  :o  Скопировал туда всю кучу ddl-ек из SDK, зарегистрировал их, но ситуация не поменялась. Что делать?


ПС: Думал у меня где-то в коде кривизна. Скачал здесь же с форума чей-то аналогичный пример Hello world. И то же самое: на моей машине работает, а у коллеги - нет.

Дмитрий22

Цитата: freestyler от 18.04.25, 08:38:50Написал простейший плагин с единственной кнопкой Hello world.


Если Вы новичок не нужно ничего писать самому. Сначала пользуйтесь примерами из SDK. Возможно, так же RegAsm.exe криво пользовались.
Воспользуйтесь моим авторегистратором библиотек, входящим в состав любой моей библиотеки.
+ Благодарностей: 1

freestyler

Цитата: Дмитрий22 от 18.04.25, 10:15:51Воспользуйтесь моим авторегистратором библиотек, входящим в состав любой моей библиотеки.
С Вашим авторегистратором заработало, спасибо! Даже интересно, что я мог не так сделать с RegAsm'ом ..