- 积分
- 1478
- 明经币
- 个
- 注册时间
- 2005-4-7
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
几乎对选择集失去信心了。请大家看看如下的奇特现象: 这是一个选择集的很普通的程序段:
Dim ssetObj As AcadSelectionSet On Error Resume Next If ThisDrawing.SelectionSets.Count <> 0 Then If Not IsNull(ThisDrawing.SelectionSets.Item("SSS67ET")) Then Set ssetObj = ThisDrawing.SelectionSets.Item("SSS67ET") ssetObj.Delete End If End If Set ssetObj = ThisDrawing.SelectionSets.Add("SSS67ET") Dim mode As Integer Dim corner1(0 To 2) As Double Dim corner2(0 To 2) As Double mode = acSelectionSetWindow ... (给corner1,corner2都赋了值) ssetObj.Select mode, corner1, corner2 ... ssetObj.delete
运行时 ,在有些电脑上出现了怪现象: AutoCAD2004下,用编辑器跟踪 mode 的值始终为0,就是说
mode = acSelectionSetWindow
这行语句无效。 究其原因,发现acSelectionSetWindow=0 ! 难道autocad2004将它作为变量处理?
为了绕过该问题, ssetObj.Select mode, corner1, corner2 这一行中 mode 直接替换为 "4"
出现了第二个怪现象, 无论corner1,corner2所取的窗口范围有多大,ssetObj中都只有一个 item.
小弟调试了一天 ,几乎对选择集失去信心。请问各位能否指教下,这到底属于什么问题呢?
|
|