独立于文档的数据库
要参与AutoCAD中的撤消,数据库必须与文档相关联,因为每个文档都有一个独立的撤消堆栈。但是,此功能与加载其内容打算在文档编辑会话之间共享的数据库的需要直接冲突。换言之,您必须在端数据库的以下两种方案之间做出决定:
在 ObjectARX 中,前一种方案是默认方案。每当实例化 的新实例时,它都会与当前文档相关联。这是应用程序需要在不激活新文档的情况下更改当前文档的原因之一。AcDbDatabase 该类提供以下函数,该函数禁用数据库撤消并将数据库与文档取消关联:AcDbDatabase void disableUndoRecording( bool disable); 任何 AcDb 对任何特定于文档的系统变量的依赖都将假定独立于文档的数据库的内置默认值。此外,无需锁定任何文档即可访问独立于文档的数据库。 注意:考虑从多个文档撤消控制器触发独立撤消控制器的开发人员应注意,在给定文档中执行撤消可能会导致不一致和损坏。例如:数据库 X 具有未与任何文档关联的撤消控制器。对文档 A 的修改是对数据库 X 进行的,然后对文档 B 的修改依赖于从文档 A 修改创建或修改的对象。现在,撤消在文档 A 中应用。对文档 B 所做的更改将损坏。
父主题: |
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-3-5 15:51
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.