在应用程序执行上下文中执行的代码与其他上下文中的代码之间存在许多差异。差异描述如下:
- 它不是任何特定文档的命令处理器状态的一部分。
- 它可以激活不同的文档,而无需立即挂起自身,尽管它必须在新的活动文档处理其输入之前完成并返回。
- 在此上下文中提示用户输入时,也会禁用 AutoLISP。
- 在无模式对话框和外部进程生成的 ActiveX 请求的情况下,代码必须锁定文档,包括当前文档。方法的使用并将应用于文档。IAcadDocumentStartUndoMarker()EndUndoMarker()kWriteLock
- 不能从应用程序执行上下文(特别是 and函数)使用命令工具。acedCommandS()/acedCommandC()acedCmdS()/acedCmdC()
- Theand方法更改活动文档,但不暂停在应用程序上下文下运行的代码的执行。它们将暂停在文档执行上下文中运行的代码的执行。该方法在从应用程序上下文调用时将始终对字符串进行排队,而从文档上下文调用该方法时,如果激活参数为字符串,则将对字符串进行排队,或者如果激活参数为,则立即挂起文档上下文。AcApDocManager::sendStringToExecute()AcApDocManager::activateDocument()AcApDocManager::sendStringToExecute()kFalsekTrue
|