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

ADN Club => AutoCAD .NET API => Тема начата: avc от 15-10-2021, 18:49:31

Название: CloseAndSave конфликтует с автосохранениями?
Отправлено: avc от 15-10-2021, 18:49:31
Есть у меня команда, которая закрывает чертеж, чтоб скопировать файл во внешнее хранилище и потом открывает обратно. 10 лет все работало, но в новых Автокадах и виндах иногда стали появляться проблемы.  Периодически метод doc.CloseAndSave(filename) закрывает чертеж, но ничего не сохраняет. Даже bak файла нет.  Иногда сохраняет битый чертеж. Иногда работает нормально. Сейчас обнаружил, что проблема пропадает если выключить автоматические сохранения. Может кто-то сталкивался с такой проблемой?
Я хочу попробовать отключать автосейвы на время действия команды. Но как это сделать программно? Что-то я не найду какие системные переменные его отключают.
Название: Re: CloseAndSave конфликтует с автосохранениями?
Отправлено: Александр Ривилис от 15-10-2021, 21:17:22
Может кто-то сталкивался с такой проблемой?
Не сталкивался.
Я хочу попробовать отключать автосейвы на время действия команды. Но как это сделать программно? Что-то я не найду какие системные переменные его отключают.
На время действия команды??? SAVETIME (https://help.autodesk.com/view/ACD/2020/RUS/?guid=GUID-AE54276F-ACF1-41A1-87EC-56E297CDB067) устанавливаешь в 0.
Название: Re: CloseAndSave конфликтует с автосохранениями?
Отправлено: avc от 16-10-2021, 00:10:46
Похоже насчет автосейвов я не угадал. Зато нашел случай когда CloseAndSave не срабатывает в 100% случаев. Оказывается ему надо, чтоб в файле были хоть какие-то не сохраненные изменения. То что я даю файлу другое имя - не важно. Нет изменений - не появится новый файл. Когда я эту команду проектировал для 2012 такой проблемы не было. Не знаю с какой версии такой глюк пошел, но похоже не давно...
Название: Re: CloseAndSave конфликтует с автосохранениями?
Отправлено: Александр Ривилис от 16-10-2021, 17:39:43
Нет изменений - не появится новый файл.
Устанавливай признак изменённости.
Название: Re: CloseAndSave конфликтует с автосохранениями?
Отправлено: avc от 16-10-2021, 18:03:31
Устанавливай признак изменённости.
А его можно установить? DBMOD - переменная только для чтения
Название: Re: CloseAndSave конфликтует с автосохранениями?
Отправлено: Александр Ривилис от 16-10-2021, 18:07:31
avc,
Два способа:
1. Что-то изменить в базе. Например, добавить в базу и потом удалить что-то. Или поменять какую-то из системных переменных (сохраняемых в базе), а затем восстановить её.
2. P/Invoke acdbSetDBMod: https://adn-cis.org/ustanovka-i-ochistka-priznaka-modifikaczii-dokumenta-v-.net.html
Название: Re: CloseAndSave конфликтует с автосохранениями?
Отправлено: avc от 16-10-2021, 18:09:59
Что-то изменить в базе.
А! Ну так я и сделал. Продолжаю тестировать...