Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: 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, то программа работает нормально.
Можно ли это как-то исправить?
-
Эта программа несколько лет работала безотказно и вдруг появился такой сбой.
Если речь идет об одной и той же версии AutoCAD, то причинами ошибки может быть:
1. Проблемы с "железом"
2. Установленное обновление AutoCAD
3. Установленное обновление Windows
4. Установленное обновление Visual Studio
5. Установленное обновление .NET Framework
6. и т.д.
Можно только гадать...
-
Спасибо, Александр.
Вероятно метод Editor.Command следует избегать?
-
Вероятно метод Editor.Command следует избегать?
Ну в данном случае избежать его не получится, так как в AutoCAD .NET API нет средств (насколько я помню) для эмуляции команды SOLPROF. Но в тех случаях, когда можно команду переписать при помощи AutoCAD .NET API - это следует делать.
-
Но в тех случаях, когда можно команду переписать при помощи AutoCAD .NET API - это следует делать.
А это как? Создать новый проект и переписать программу немного по-другому?
-
Vns,
Не понял вопроса.