我正在开发一个按钮,在该按钮上打开了一个项目文档并打开了一个家庭文档。我正在尝试关闭家庭文档,但是我收到一条错误消息:
Autodesk.Revit.Exceptions.InvalidOperationException: 'Close is not allowed when there is any open sub-transaction, transaction, or transaction group.'
我已经检查了我的所有交易,它们都使用transactionName.Start(document)
and启动和提交transactionName.Commit()
有谁知道检查任何正在进行的活动交易的方法?
我也尝试过使用
'RevitCommandId closeDoc = RevitCommandId.LookupPostableCommandId(PostableCommand.Close);
uiapp.PostCommand(closeDoc);'
但是,这往往只想关闭我的项目文档。
///////////////////////////////////更新////////////// ///////////// 太棒了,我刚刚发现我不需要使用 uiapp.OpenAndActivateDocument()。我不知道您可以在不打开文档的情况下编辑家庭。这解决了我的问题。不过,我仍然很好奇是否有办法检查未结交易。