BricsCAD:通过插入块引用。NET - winform(不稳定?)
大家好。通过插入块引用后,BricsCAD中出现一些不可预测的行为。网。
我们有一个在模型空间中插入块引用集合(+填充属性)的函数。
当通过BricsCAD中的命令行调用该函数时,一切正常。
含义:所有块都按要求插入到模型空间中,所有属性都接收到正确的值&块在需要时可以自由操作和删除。
当通过windows窗体调用完全相同的函数时,会出现问题。
我们有一个*。dll保存了一个窗体,允许用户“选择”他想要插入的内容。
它基本上归结为在表单上单击一个按钮,调用上面讨论的相同的“插入函数”。
在模型空间*中插入所有块似乎*进展顺利。但是一旦我们通过图形用户界面选择并删除它们,这些块仍然在模型空间中绘制,只是通过输入“Regen”命令消失。在这种状态下,不能以任何方式选择这些块。
知道这是为什么吗?干杯,伯特
**** Hidden Message ***** 这听起来就像对块插入和/或属性的额外引用保持打开状态一样......
这通常会导致您描述的这些效果。
请检查您的代码,如果有一个意外的引用活动...
(此外,我们已经在处理您的支持请求)。
许多问候! 此外,当从对话框中请求用户输入时,要确保“提交”事务并“锁定”文档 这两句话都非常有效,但是..
处理块引用的插入和设置的函数是相同的。
当通过BricsCAD中的命令行调用该函数时(我们添加了一个
,以便我们可以调用它),一切都很顺利。
当我们从表单调用完全相同的函数时,新插入的块的行为很奇怪。当我们选择并删除它们时,它们仍然在屏幕上绘制,直到触发“regen”。
这是否与线程有关?根据 wich 线程('winform GUI' 或 'BricsCAD 应用程序'),此函数是从 ?
我们得到的“temp”修复是,我们不是从表单上的按钮单击事件调用插入函数,而是执行“acDoc.SendStringToExecute”以通过命令行调用函数 也许,您需要文档锁定?至少,当您从无模式对话框调用函数时...?
我希望这有点帮助... 感谢TMoses的支持。
你们提供的VS-Solution证实了我们所知道的;我们的代码以非常相似的方式工作。
但它让我们更接近于处理我们在代码中使用的每个块参考的所有插入的函数,我们发现了错误:
在该函数中,由于某种原因,TransActionManager.StartTransAction是基于acDoc调用的,而不是基于acDoc.Database!
(躲在一个小角落...)
所以这修复了所有不需要的行为...谢谢帮助!
问候,
Bert
页:
[1]