Как игнорировать изменения

Автор Тема: Как игнорировать изменения  (Прочитано 7101 раз)

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

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Всем доброго дня!
Я работаю с чертежом. Меняю изображение элементов на экране.
При выходе из программы появляется сообщение "Сохранить изменения?"
Можно как-то проигнорировать эти действия, так, чтобы сообщение не появлялось?
Спасибо.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как игнорировать изменения
« Ответ #1 : 11-12-2020, 17:12:53 »
Можно как-то проигнорировать эти действия, так, чтобы сообщение не появлялось?
Изменения должны сохранится в чертеже или нет?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Re: Как игнорировать изменения
« Ответ #2 : 11-12-2020, 20:58:30 »
Нет, не должны.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как игнорировать изменения
« Ответ #3 : 11-12-2020, 21:24:24 »
Нет, не должны.
AutoCAD не рассчитан на потерю всего, что наработали в чертеже и не согласен без запроса закрываться с потерей данных. Впрочем так действуют и программы из MS Office, да и любые нормальные приложения.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Борис_САвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 238
  • Карма: 3
Re: Как игнорировать изменения
« Ответ #4 : 14-12-2020, 15:18:22 »
Я пишу уже не первый plugin. В том числе я написал plugin для стыковки нашей программы и Компаса. Там (в Компасе) есть функция ksZoomScale для масштабирования изображений. После применения этой функции при выходе из программы программа никаких вопросов не задает.
Самым оптимальным, на мой взгляд, было бы ввести какую-то глобальную переменную булева типа. При установке значения этой переменной в true
при выходе из программы вопрос о сохранении изменений не должен был бы задаваться.

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 546
  • Карма: 119
Re: Как игнорировать изменения
« Ответ #5 : 14-12-2020, 15:34:19 »
При установке значения этой переменной в true
при выходе из программы вопрос о сохранении изменений не должен был бы задаваться.

К сожалению в AutoCAD нет такой возможности.
Существуют варианты:
1. Принудительно закрыть приложение. (Аварийное завершение).
2. Пройтись по всем чертежам и каждый закрыть без сохранения. После этого можно закрывать AutoCAD.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как игнорировать изменения
« Ответ #6 : 14-12-2020, 15:50:21 »
Борис_С,
Есть переменная 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
Вопрос только в том, когда её вызвать.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение