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

       

Различия кода под прикладным контекстом выполнения


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

§         Это - не часть состояния командного процессора любого определенного документа.

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

§         переключение Документа заблокирован при запросе ввода пользователя, или через ActiveX или ObjectARX запросы ввода пользователя.

§         AutoLISP также заблокирован при запросе ввода пользователя в этом контексте.

§         В случаях немодальных диалогов и внешних сгенерированных процессом запросов ActiveX, код должен блокировать документы, включая текущий документ. Использование IACADDOCUMENT методов StartUndoMarker() и EndUndoMarker() применит kWriteLock к документу.

§         средство команды не может использоваться от прикладного контекста выполнения, определенно acedCommand() и acedCmd() функции.

§         AcApDocManager::sendStringToExecute() и AcApDocManager::activateDocument() методы изменяют активный документ, но не приостанавливают выполнение кода, выполняющегося под прикладной контекст. Они приостановят выполнение кода, выполняющегося в контексте выполнения документа. AcApDocManager::sendStringToExecute() метод будет всегда очередь строка когда вызвано от прикладного контекста, при вызове, это от контекста документа будет или очередь строка, если активизирующийся параметр - kFalse, или немедленно приостанавливать контекст документа, если активизирующийся параметр - kTrue.



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