Сообщество программистов Autodesk в СНГ

ADN Club => Inventor API => Тема начата: d_fedorr от 02-04-2020, 15:07:09

Название: Ошибка при подключении к Inventor API
Отправлено: d_fedorr от 02-04-2020, 15:07:09
Всем привет. Мне нужно разработать приложение, в котором будут анализироваться файлы сборок с помощью 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 при запуске
появляется окно

(https://i.postimg.cc/dZd4zgqR/image.png) (https://postimg.cc/dZd4zgqR)

после закрытий которого объект app оказывает равным null.
У меня Inventor 2017. Как можно решить данную проблему?
под запуском я имею в виду запуск проекта, т.е. отладка или запуск без отладки
Название: Re: Ошибка при подключении к Inventor API
Отправлено: Александр Ривилис от 02-04-2020, 15:13:59
Но не давно этот код полностью перестал работать из за следующей проблемы. в Visuas Stidio при запуске
появляется окно
Что этому предшествовало? Обновление Windows? Обновление Inventor? Обновление Visual Studio?
Название: Re: Ошибка при подключении к Inventor API
Отправлено: d_fedorr от 02-04-2020, 15:23:51
Но не давно этот код полностью перестал работать из за следующей проблемы. в Visuas Stidio при запуске
появляется окно
Что этому предшествовало? Обновление Windows? Обновление Inventor? Обновление Visual Studio?

ничего из перечисленного не делал. На сколько я помню, это началось после того как я обратился к несуществующему свойству в PropertySet.ItemByPropId. То есть я написал PropertySet.ItemByPropId[4] и запустил без отладки
Название: Re: Ошибка при подключении к Inventor API
Отправлено: Александр Ривилис от 02-04-2020, 15:29:47
На сколько я помню, это началось после того как я обратился к несуществующему свойству в PropertySet.ItemByPropId. То есть я написал PropertySet.ItemByPropId[4] и запустил без отладки
Это никак не может быть связано. Попробуй в Visual Studio включить "Use Managed Compatibility Mode" в меню Tools –> Options –> Debugging.
Название: Re: Ошибка при подключении к Inventor API
Отправлено: d_fedorr от 02-04-2020, 16:24:07
Это никак не может быть связано. Попробуй в Visual Studio включить "Use Managed Compatibility Mode" в меню Tools –> Options –> Debugging.
Выставил свойство "Use Managed Compatibility Mode", на которое вы указали, но ничего не изменилось. Затем запустил Inventor и закрыл его, теперь проблема исчезла, проект запускается.