ZWCAD选择集错误
我对ZWCAD 2015中的选择集有问题。它在执行以下操作时总是返回状态错误:
Public Sub teste()
For i = 0 To 100
Dim ss = ED.SelectAll(New SelectionFilter({New TypedValue(DxfCode.Start, "LWPOLYLINE"),
New TypedValue(DxfCode.LayerName, "quadra")}))
If ss.StatusPromptStatus.OK Then
MsgBox(ss.Status.ToString & vbNewLine & "i=" & i)
Exit Sub
End If
Next
End Sub
在autocad或gstarcad中,运行时无错误(无消息框)。为什么?
**** Hidden Message ***** 你需要和他们在一起吗?此外,您的messagebox将只显示是否有错误。只要没有错误,子程序就会结束而不打印任何东西。您可能需要将更改为a =, 。
公共子测试()。
对于i = 0到100 。
Dim ss = ED,select all(New selection filter({ New typed value(DXF code,运算符,“。
新类型值(DxfCode,Start," LWPOLYLINE "),。
新类型值(DxfCode,LayerName," quadra"。
新类型值(DxfCode,运算符," and > ")))。
如果ss,状态提示状态,那好吧。
MsgBox(ssstatus . ToString & VB newline & " I = " & I)。
退出Sub。
结束If。
下一步。
结束Sub。
嗨,我做了这些更改,但错误仍然存在
调用“teste”命令三次:
第一次运行时,正常
第二次运行时,显示值大于0的消息框
第三次,显示值为0的消息框
为什么要在循环内部选择滤波? 对于循环的每次迭代,结果都是相同的。您可以从现在循环到无穷大,结果将始终与第一次迭代相同。
错误是什么?
它在哪条线上崩溃? 此代码仅用于显示问题
连续运行三次时,应在不显示任何消息的情况下完成运行,假设“四边形”层中有多段线。创建一些多段线并将图层设置为“四边形”,然后进行测试
但是,要第二次调用命令“teste”,它显示了与过滤器匹配的对象数相比较小的数字
第三次运行同一命令“teste”时,会显示一条带有“i=0”的消息。这意味着,尽管层“quadra”中有多段线,“SelectAll”失败
我有一个程序运行了多次“SelectAll”,但程序运行不正确,因为“SelectAll”在第一次调用后不起作用。
我没有ZWCAD来测试这一点,所以我不得不相信你的话。您可能已经发现了ZWCAD开发团队应该研究的错误。也许你应该向他们展示这些结果<不过,我看不出他们会马上修好它。只要它在第一次迭代中始终有效,该错误就永远不会成为开发人员的问题。我看不出你发布的代码会在生产中使用。 Hi,
现在正在工作:
ZWCAD同时只能有255个选择集,所以当不再需要一个选择集时,开发人员应该调用它的Dispose()方法来释放这个选择集
哦
ZWCad vs ZWCad Plus
页:
[1]