自动化请求可以发生在任何 AutoCAD 上下文中,来自任意数量的客户端应用程序。为防止与其他请求发生冲突,您有责任在修改文档之前锁定文档。在某些情况下未能锁定文档将导致在修改数据库期间发生锁定冲突。 有时,您会希望使文档暂时处于当前状态。例如,将实体添加到 *模型空间或 *图纸空间时,需要锁定文档并使其处于当前状态。未能使文档成为当前文档将导致您的实体在图形显示中不可见,即使在重新生成显示后也是如此。 在 ObjectARX API 中,文档管理器类提供锁定和上下文切换功能。由于这些是常见任务,因此自动化 API 将此行为封装在名为 的导出类中。使用适当的参数实例化对象既可以锁定文档,也可以使其当前状态。AcAxDocLockAcAxDocLock 例如: STDMETHODIMP CMyEntity::Modify() { AcAxDocLock docLock(m_objId, AcAxDocLock::kNormal); if(docLock.lockStatus() != Acad::eOk) { return E_FAIL; } // It is now safe to modify the database // return S_OK; } |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:17
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.