ObjectARX, AutoCAD. Среда программирования библиотеки C++

       

Undo базы данных и средства управления транзакции


Большинство ObjectARX-приложений не будет должно иметь дело с отменой и операционным управлением, но они должны знать некоторые важные точки:

§         Отмена и операционное управление выполнен на основании "в документ ". В AutoCAD, это управляется через (или в конъюнкции с) блокировкой документа.

§         Всякий раз, когда документы блокированы для kWrite или kXWrite, “начинают команда” скобка отмены написана к файлу, и затем база данных и другие модификации выполнена. Когда документы разблокированы от kWrite или kXWrite состояния, передача “конечная команда” скобка отмены будет написана. (Обратите внимание, что они могут быть вложены.) К времени приложение закончено, работая на документе, это должно было сбалансировать, его документ блокирует и разблокирует запросы. Если запросы не сбалансированы, файл отмены будет работать неправильно, оставляя действия из sync от после первой блокировки записи, и через первую блокировку, сбалансированную разблокирующимся. Последующий запрос отмены должен отложить это в sync.

§         параметр для установления имени команды обеспечивается, который отображен, когда команда UNDO выполнена. Созданные маркеры отмены - тот же самый что касается встроенного AutoCAD и команд ObjectARX, и могут поэтому управляться через ГРУППУ ОТМЕН.

§         Документы может иметь отмену, выполненную независимо от друг друга.

§         По умолчанию, когда образец AcDbDatabase создан, его отмена и операционное управление связана с текущим документом.

§         Обращают внимание, что имеются два метода AcEditorReactor, которые используются, чтобы соединить базы данных со средствами отмены документа и операционным менеджером: databaseConstructed() и databaseToBeDestroyed(). Если Вы получаете такое уведомление, знаете, что ассоциация между базой данных и любыми документами неопределена в ту временами, так документ, блокировка может или не может треб в databaseConstructed () повторный вызов. Конечно, любое действие, которое отменяет любые модификации, сделанные в то время,  также отменит создание базы данных.

§         по умолчанию AcDbDatabase конструкторы сделает запрос объекта AcDbHostApplicationServices для контроллера отмены.



Содержание раздела