明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2280|回复: 9

[讨论] 在循环体中按ESC键,*error*函数到底能不能搞定

[复制链接]
发表于 2011-1-31 08:29:06 | 显示全部楼层 |阅读模式
本帖最后由 xhq1954425 于 2011-1-31 13:31 编辑

下面的程序在执行过程中按ESC键是不执行出错函数的,可有办法解决它?谢谢!

(defun C:tt ()
(setq error_bak *error*)
(setq *error* ke_jian)
(repeat 10000
   (command "line" '(0 0) '(100 0) "")
)
)  
(defun ke_jian (msg)
(setq *error* error_bak)
        (alert "看执行没有")
)
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2011-1-31 20:22:54 | 显示全部楼层
这样试试
(defun ke_jian (msg)
        (alert "看执行没有")
(setq *error* error_bak)
)

评分

参与人数 1金钱 +20 收起 理由
xhq1954425 + 20 谢谢!

查看全部评分

发表于 2011-1-31 21:08:54 | 显示全部楼层
本帖最后由 caoyin 于 2011-1-31 21:20 编辑

(defun C:tt ()
(setq error_bak *error*)
(setq *error* ke_jian)
(repeat 10000
   (command "line" "_non" '(0 0)  "_non" '(100 0) "")
)
)  
(defun ke_jian (msg)
        (alert "看执行没有")
(setq *error* error_bak)
(while (/= (getvar 'CMDACTIVE) 0)
  (command "")
)
)
为了确保*error*没有被覆盖,测试前建议重新打开个dwg图档

评分

参与人数 1金钱 +20 收起 理由
xhq1954425 + 20 谢谢!

查看全部评分

 楼主| 发表于 2011-2-1 06:34:54 | 显示全部楼层
本帖最后由 xhq1954425 于 2011-2-1 06:48 编辑

谢谢两位版主的关注,我试了一下都没行,在循环体中按ESC键时直接中断了,根本不执行出错函数。这个问题困扰我很久了。实在是想不出别的办法了……
再次谢谢两位版主
发表于 2011-2-1 07:57:15 | 显示全部楼层
为什么我测试成功?
发表于 2011-2-1 09:14:40 | 显示全部楼层
在04版本测试可以弹出出alert对话框,在08版本上不能弹出alert对话框,改成(princ "看执行没有")就可以!把出错函数改为
(defun ke_jian (msg)
  (alert "看执行没有")
(setq *error* error_bak)
         (princ "可以执行了")
)
在08上运行中按esc键,命令行出现:"可以执行了"
说明出错函数正确运行到最后了,只是不能弹出alert对话框而已!所以在08版上的出错函数中不能使用alert!

评分

参与人数 1金钱 +20 收起 理由
xhq1954425 + 20 一试真是这样!谢谢!

查看全部评分

 楼主| 发表于 2011-2-1 11:44:10 | 显示全部楼层
本帖最后由 xhq1954425 于 2011-2-1 11:45 编辑

试了,好使!向各位版主致谢!
发表于 2011-2-8 21:10:32 | 显示全部楼层
本帖最后由 AMTONNY 于 2011-2-8 21:11 编辑

学习了,这个功能有用,多谢几位版主指点了
发表于 2012-9-14 20:31:43 | 显示全部楼层
08版测试可以
发表于 2013-7-21 07:00:34 | 显示全部楼层
不行啊,运行时命令行显示 TT NIL
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-28 01:13 , Processed in 0.169021 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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