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

ADN Club => AutoCAD .NET API => Тема начата: Vns от 18-06-2022, 18:12:21

Название: Fatal error после выполнения команды SOLPROF
Отправлено: Vns от 18-06-2022, 18:12:21
Всем привет!

     Столкнулся с такой проблемой: в определенном месте программы выполняется команда SOLPROF -
 -    doc.Editor.Command("_solprof", "_Previous", "", "_Y", "_Y", "_Y"). После этого программа продолжает выполняться и в некотором месте, в моем случае - при переходе из
 пространства листа в пространство модели (при изменении значения системной переменной TILEMODE с 1 на 0) выдается сообщение :
 "Среда выполнения обнаружила фатальную ошибку. Адрес ошибки был 0xb9ea26c4, в потоке 0x155c. Код ошибки 0xc0000005. Эта ошибка может быть ошибкой в среде CLR или в
  небезопасных или непроверяемых частях пользовательского кода. Распространенными источниками этой ошибки являются ошибки маршалинга пользователя для COM-interop или
  PInvoke, которые могут повредить стек.", затем - Fatal error.
  Эта программа несколько лет работала безотказно и вдруг появился такой сбой. При этом и отладчик стал работать иначе.
  Если исключить (задокументировать) строку с командой SOLPROF, то программа работает нормально.
  Можно ли это как-то исправить?
Название: Re: Fatal error после выполнения команды SOLPROF
Отправлено: Александр Ривилис от 18-06-2022, 18:23:33
Эта программа несколько лет работала безотказно и вдруг появился такой сбой.
Если речь идет об одной и той же версии AutoCAD, то причинами ошибки может быть:
1. Проблемы с "железом"
2. Установленное обновление AutoCAD
3. Установленное обновление Windows
4. Установленное обновление Visual Studio
5. Установленное обновление .NET Framework
6. и т.д.
Можно только гадать...
Название: Re: Fatal error после выполнения команды SOLPROF
Отправлено: Vns от 18-06-2022, 18:51:09
  Спасибо, Александр.

  Вероятно метод Editor.Command следует избегать?
Название: Re: Fatal error после выполнения команды SOLPROF
Отправлено: Александр Ривилис от 18-06-2022, 18:57:15
Вероятно метод Editor.Command следует избегать?
Ну в данном случае избежать его не получится, так как в AutoCAD .NET API нет средств (насколько я помню) для эмуляции команды SOLPROF. Но в тех случаях, когда можно команду переписать при помощи AutoCAD .NET API - это следует делать.
Название: Re: Fatal error после выполнения команды SOLPROF
Отправлено: Vns от 19-06-2022, 07:25:37
Но в тех случаях, когда можно команду переписать при помощи AutoCAD .NET API - это следует делать.

А это как? Создать новый проект и переписать программу немного по-другому?
Название: Re: Fatal error после выполнения команды SOLPROF
Отправлено: Александр Ривилис от 21-06-2022, 15:09:28
Vns,
Не понял вопроса.