CloseAndSave конфликтует с автосохранениями?

Автор Тема: CloseAndSave конфликтует с автосохранениями?  (Прочитано 8246 раз)

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

Оффлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Есть у меня команда, которая закрывает чертеж, чтоб скопировать файл во внешнее хранилище и потом открывает обратно. 10 лет все работало, но в новых Автокадах и виндах иногда стали появляться проблемы.  Периодически метод doc.CloseAndSave(filename) закрывает чертеж, но ничего не сохраняет. Даже bak файла нет.  Иногда сохраняет битый чертеж. Иногда работает нормально. Сейчас обнаружил, что проблема пропадает если выключить автоматические сохранения. Может кто-то сталкивался с такой проблемой?
Я хочу попробовать отключать автосейвы на время действия команды. Но как это сделать программно? Что-то я не найду какие системные переменные его отключают.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Может кто-то сталкивался с такой проблемой?
Не сталкивался.
Я хочу попробовать отключать автосейвы на время действия команды. Но как это сделать программно? Что-то я не найду какие системные переменные его отключают.
На время действия команды??? SAVETIME устанавливаешь в 0.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Похоже насчет автосейвов я не угадал. Зато нашел случай когда CloseAndSave не срабатывает в 100% случаев. Оказывается ему надо, чтоб в файле были хоть какие-то не сохраненные изменения. То что я даю файлу другое имя - не важно. Нет изменений - не появится новый файл. Когда я эту команду проектировал для 2012 такой проблемы не было. Не знаю с какой версии такой глюк пошел, но похоже не давно...

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Нет изменений - не появится новый файл.
Устанавливай признак изменённости.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Устанавливай признак изменённости.
А его можно установить? DBMOD - переменная только для чтения

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
avc,
Два способа:
1. Что-то изменить в базе. Например, добавить в базу и потом удалить что-то. Или поменять какую-то из системных переменных (сохраняемых в базе), а затем восстановить её.
2. P/Invoke acdbSetDBMod: https://adn-cis.org/ustanovka-i-ochistka-priznaka-modifikaczii-dokumenta-v-.net.html
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Что-то изменить в базе.
А! Ну так я и сделал. Продолжаю тестировать...