Ошибка при подключении к Inventor API

Автор Тема: Ошибка при подключении к Inventor API  (Прочитано 2070 раз)

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

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн d_fedorrАвтор темы

  • ADN OPEN
  • Сообщений: 26
  • Карма: 0
Всем привет. Мне нужно разработать приложение, в котором будут анализироваться файлы сборок с помощью Inventor API. Я использую следующий код для подключения к инвентору. Код на С#

Код - C# [Выбрать]
  1. try
  2. {
  3. invApp = System.Runtime.InteropServices.Marshal.
  4. GetActiveObject("Inventor.Application") as Inventor.Application;
  5. }
  6. catch
  7. {
  8.   try
  9.   {
  10.   invApp = Activator.CreateInstance(
  11.   Type.GetTypeFromProgID("Inventor.Application")) as Inventor.Application;
  12.   }
  13.   catch
  14.   {
  15.   dsOpenFile.ShowMessage("Ошибка при подключении к Inventor API. Попробуйте перезапустить программу");
  16.   Environment.Exit(1);
  17.   }
  18. }

Периодически у меня вылетало вылетало исключение после  строки

Код - C# [Выбрать]
  1. invApp = Activator.CreateInstance(
  2.                         Type.GetTypeFromProgID("Inventor.Application")) as Inventor.Application;

но после перезапуска всё работало. Но не давно этот код полностью перестал работать из за следующей проблемы. в Visuas Stidio при запуске
появляется окно



после закрытий которого объект app оказывает равным null.
У меня Inventor 2017. Как можно решить данную проблему?
под запуском я имею в виду запуск проекта, т.е. отладка или запуск без отладки

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Ошибка при подключении к Inventor API
« Ответ #1 : 02-04-2020, 15:13:59 »
Но не давно этот код полностью перестал работать из за следующей проблемы. в Visuas Stidio при запуске
появляется окно
Что этому предшествовало? Обновление Windows? Обновление Inventor? Обновление Visual Studio?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн d_fedorrАвтор темы

  • ADN OPEN
  • Сообщений: 26
  • Карма: 0
Re: Ошибка при подключении к Inventor API
« Ответ #2 : 02-04-2020, 15:23:51 »
Но не давно этот код полностью перестал работать из за следующей проблемы. в Visuas Stidio при запуске
появляется окно
Что этому предшествовало? Обновление Windows? Обновление Inventor? Обновление Visual Studio?

ничего из перечисленного не делал. На сколько я помню, это началось после того как я обратился к несуществующему свойству в PropertySet.ItemByPropId. То есть я написал PropertySet.ItemByPropId[4] и запустил без отладки

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Ошибка при подключении к Inventor API
« Ответ #3 : 02-04-2020, 15:29:47 »
На сколько я помню, это началось после того как я обратился к несуществующему свойству в PropertySet.ItemByPropId. То есть я написал PropertySet.ItemByPropId[4] и запустил без отладки
Это никак не может быть связано. Попробуй в Visual Studio включить "Use Managed Compatibility Mode" в меню Tools –> Options –> Debugging.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Отмечено как Решение d_fedorr 03-04-2020, 14:05:00

Оффлайн d_fedorrАвтор темы

  • ADN OPEN
  • Сообщений: 26
  • Карма: 0
Re: Ошибка при подключении к Inventor API
« Ответ #4 : 02-04-2020, 16:24:07 »
Это никак не может быть связано. Попробуй в Visual Studio включить "Use Managed Compatibility Mode" в меню Tools –> Options –> Debugging.
Выставил свойство "Use Managed Compatibility Mode", на которое вы указали, но ничего не изменилось. Затем запустил Inventor и закрыл его, теперь проблема исчезла, проект запускается.