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

       

Явная блокировка документа


Имеются два типа контекстов выполнения, приложения и документа. Все зарегистрированные команды и реакторные повторные вызовы выполнены в пределах контекста выполнения документа. Сообщения Windows и повторные вызовы, и некоторый acrxEntryPoint () сообщения выполнены в пределах прикладного контекста.

Явная блокировка требуется только в прикладном контексте выполнения. Блокировка и разблокирование автоматически обработаны для команд, выполняющихся в контексте документа.

Любые команды, которые должны работать вне активного документа, должны вручную исполнить документ блокировка использование следующих типов блокировки.

§

Доступный только для чтения

§         Исключительное чтение

§         Общедоступная запись

§         Исключительная запись

Блокировка в прикладном контексте выполнения может быть сделана,  вызывая acDocManager- > lockDocument (). Следующая таблица описывает четыре уровня блокировки опций:

Типы блокировки Команды

Блокировка Команды



 Режим Блокировки

 Флажки Команды

 Описание

Read only

(not locked)

ACRX_CMD_DOCREADLOCK

Для доступа только для чтения к объектам, блокировка не необходима. Например, чтобы открыть AcDbObject для Acad:: kForRead, или вызывать acedGetVar

(), блокировка не необходима.

Exclusive read

AcAp::kRead

ACRX_CMD_DOCREADLOCK, ACRX_CMD_DOCEXCLUSIVELOCK

Использование исключительного режима чтения предотвращает любой другой контекст выполнения от блокировки документа для записи. Этот режим гарантирует, что документ не будет изменяться в течение блокировки.

Shared write

AcAp::kWrite

(default)

Заданный по умолчанию режим блокировки. Множественные контексты выполнения могут держать одновременные общедоступные блокировки записи. Команда может делать изменения к документу, и когда команда приостановлена, другие команды могут делать изменения к документу.

Exclusive write

AcAp::kXWrite

ACRX_CMD_DOCEXCLUSIVELOCK

Гарантирует, что ваш контекст выполнения имеет монопольный доступ, чтобы изменить ресурсы документа



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