明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1424|回复: 1

选择集存在的BUG及解决方法

[复制链接]
发表于 2003-10-27 15:51:00 | 显示全部楼层 |阅读模式
创建选择集时如果选择集重名则会出错,这个大家都是知道的。
一般的处理方法是通过检查选择集中是否有同名的选择集,如果有则清空选择集。
这个方法大家一直在用,而且实用函数中也提供了一个专用的函数来解决这个问题。

但目前还存在 一个BUG。
当用户点击打开文件对话框,但又点了对话框中的取消键取出(也就是本来想打开文件,但最后没有打开,又回到原来的图中)。这时该函数就存在问题。
这时选择集的ss.Count属性以及Item等属性均会出错。
这个问题以前有网友提过,但没有认真去对待,现在解决如下:
大家创建选择集后试图使用ss.Count,如果出错,则进行进一步处理,将选择集删除,再重建。如果没有出错,则直接通过,以下为实现的函数
  1. Function CreatSSet() As AcadSelectionSet
  2.     Dim ss As AcadSelectionSet
  3.     Dim i  As Integer
  4.     On Error Resume Next
  5.     Set ss = ThisDrawing.SelectionSets.Add("mccad")
  6.     If Err Then
  7.         Err.Clear
  8.         Set ss = ThisDrawing.SelectionSets("mccad")
  9.         ss.Clear
  10.     End If
  11.     i = ss.Count
  12.     If Err Then
  13.         ss.Delete
  14.         Err.Clear
  15.         Set ss = ThisDrawing.SelectionSets.Add("mccad")
  16.     End If
  17.     Set CreatSSet = ss
  18. End Function
发表于 2003-10-27 18:27:00 | 显示全部楼层
这个问题倒是没有注意!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 12:53 , Processed in 0.154826 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表