飞雪神光 发表于 2024-9-3 10:10
循环中,执行ssget时,不选直接按空格就会出现这个错误:选择对象:; 错误: 参数类型错误: lselsetp nil 然后就退出程序了
需求好乱啊,调出while也可以执行while外面的代码啊
tryhi 发表于 2024-9-3 09:57
没看懂在问什么,重新组织一下问题吧
就是while里面有ssget,然后ssget循环几次后,我不想选了,然后到ssget时不选,按空格或回车后就出错,导致整个程序就出错退出了
有可能就是ssget这个命令本身的问题,有没有大神可以解决这个问题
zolly 发表于 2024-9-3 10:29
就是while里面有ssget,然后ssget循环几次后,我不想选了,然后到ssget时不选,按空格或回车后就出错,导 ...
给出完整代码以及出错提示
zolly 发表于 2024-9-3 10:21
循环中,执行ssget时,不选直接按空格就会出现这个错误:选择对象:; 错误: 参数类型错误: lselsetp nil ...
你在while跳出后又使用ss了?发代码看看
向大佬们学习
本帖最后由 dcl1214 于 2024-9-3 19:16 编辑
;徒手写的代码,没有测试,你自己测试,我在群里经常提到这个函数vl-catch-all-apply
(PROGN (SETQ GO T)
(while GO
(setq ss (VL-CATCH-ALL-APPLY 'ssget))
(IF (VL-CATCH-ALL-ERROR-P SS)
(SETQ SS NIL)
)
(IF(and ss (> (SSLENGTH SS) 1))
(SETQ GO NIL)
)
(setq ss NIL)
)
)
本帖最后由 自贡黄明儒 于 2024-9-3 11:44 编辑
dcl1214 发表于 2024-9-3 11:20
太极端了吧,ssget 都要用VL-CATCH-ALL-APPLY ?
(while(setq ss (ssget))
。。。
)不就好了吗?
dcl1214 发表于 2024-9-3 11:20
其实他出错并不是ssget,他出错的是SSLENGTH