CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2020 开发者帮助

嵌套事务

2024-5-18 18:26| 发布者: admin| 查看: 78| 评论: 0|原作者: admin|来自: AutoCAD

嵌套事务

事务可以嵌套,也就是说,您可以在另一个事务中启动一个事务,然后结束或中止最近的事务。事务管理器在堆栈中维护事务,最近的事务位于堆栈的顶部。当您使用 启动新事务时,新事务将添加到堆栈的顶部,并返回指向它的指针(实例 )。当有人调用 or 时,堆栈顶部的事务将结束或中止。AcTransactionManager::startTransaction()AcTransactionAcTransactionManager::endTransaction()AcTransactionManager::abortTransaction()

从对象 ID 获取对象指针时,它们始终与最近的事务相关联。您可以使用 获取最近的事务,然后使用 或 获取指向对象的指针。事务管理器自动将获得的对象指针与最近的事务相关联。您只能用于最近的交易。AcTransactionManager::topTransaction()AcTransaction::getObject()AcTransactionManager::getObject()AcTransaction::getObject()

启动嵌套事务时,在外部包含事务中获取的对象指针也可用于在最内层事务中操作。如果最近事务中止,则自最近事务开始以来对所有对象(与此事务或包含事务相关联)执行的所有操作都将被取消,并且对象将回滚到最近事务开始时的状态。在最近的事务中获取的对象指针一旦中止,就不再有效。

如果通过调用成功结束了最里面的事务,则在此事务中获取其指针的对象将与包含事务相关联,并且可以操作。此过程一直持续到最外层(第一个)事务结束,此时将对所有对象进行修改。如果最外层的事务被中止,则取消对所有对象的所有操作,并且不提交任何内容。AcTransactionManager::endTransaction()

父主题:

  1. 交易管理

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2024-12-15 13:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部