Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: Борис_С от 11-12-2020, 13:07:55
-
Всем доброго дня!
Я работаю с чертежом. Меняю изображение элементов на экране.
При выходе из программы появляется сообщение "Сохранить изменения?"
Можно как-то проигнорировать эти действия, так, чтобы сообщение не появлялось?
Спасибо.
-
Можно как-то проигнорировать эти действия, так, чтобы сообщение не появлялось?
Изменения должны сохранится в чертеже или нет?
-
Нет, не должны.
-
Нет, не должны.
AutoCAD не рассчитан на потерю всего, что наработали в чертеже и не согласен без запроса закрываться с потерей данных. Впрочем так действуют и программы из MS Office, да и любые нормальные приложения.
-
Я пишу уже не первый plugin. В том числе я написал plugin для стыковки нашей программы и Компаса. Там (в Компасе) есть функция ksZoomScale для масштабирования изображений. После применения этой функции при выходе из программы программа никаких вопросов не задает.
Самым оптимальным, на мой взгляд, было бы ввести какую-то глобальную переменную булева типа. При установке значения этой переменной в true
при выходе из программы вопрос о сохранении изменений не должен был бы задаваться.
-
При установке значения этой переменной в true
при выходе из программы вопрос о сохранении изменений не должен был бы задаваться.
К сожалению в AutoCAD нет такой возможности.
Существуют варианты:
1. Принудительно закрыть приложение. (Аварийное завершение).
2. Пройтись по всем чертежам и каждый закрыть без сохранения. После этого можно закрывать AutoCAD.
-
Борис_С,
Есть переменная DBMOD: https://knowledge.autodesk.com/ru/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2020/RUS/AutoCAD-Core/files/GUID-E255E808-2D48-4BDE-A760-FFEA28E5A86F-htm.html
Но она вообще-то read-only. И только при помощи недокументированной функции acdbSetDbmod (в ObjectARX) можно сбросить этот флаг, и тогда AutoCAD не будет спрашивать сохранять файл или нет.
Здесь пример её использования в .NET: https://adn-cis.org/ustanovka-i-ochistka-priznaka-modifikaczii-dokumenta-v-.net.html
Вопрос только в том, когда её вызвать.