Правильный откат изменений в рамках транзакции. Как?

Автор Тема: Правильный откат изменений в рамках транзакции. Как?  (Прочитано 11594 раз)

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

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2457
  • Карма: 692
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Мне кажется, что при озвученной постановке задачи можно не трогать текущий чертеж, а все действия производить с новым чертежом. Соотвественно ничего "откатывать" в текущем чертеже не придётся.
Тогда придется долго и нудно чистить целевой чертеж от ненужных объектов, потому что в вертикальных решениях есть неразрывная динамическая связь между объектами и при копировании нужных объектов будет цепляться куча ненужных. Причем, я даже до конца не знаю размеры этой кучи...
Я имел в виду CommandFlags
Флаги посмотрел, но отвечающего за сохранность чертежа не обнаружил. Возможно Вы имели в виду флаги блокировки документа, но они его блокируют от изменений другими командами, а не от выполняемой.
Спасибо за консультации! Как время появится, переделаю программу с целью избавления от метода Abort. Попробую вручную удалять создаваемые объекты перед завершением транзакции.