wandong 发表于 2006-2-23 18:20:00

*error*用法

<P>比如有如下函数:</P>
<P>(defun test(/ )</P>
<P>(setq oldosmode (getvar "osmode"))</P>
<P>(setvar "osmode" 0)</P>
<P>(setq olderror *error*</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *error* myerror</P>
<P>)</P>
<P>(command "_undo" "be")</P>
<P>(ssget)</P>
<P>(command)</P>
<P>(command "_undo" "_end")</P>
<P>(setvar "osmode" oldosmode)</P>
<P>(setq *error* olderror)</P>
<P>)</P>
<P>(defun myerror()</P>
<P>(command)</P>
<P>(command "_undo" "_end")</P>
<P>(setvar "osmode" oldosmode)&nbsp;</P>
<P>(setq *error* olderror)</P>
<P>)</P>
<P>初衷是想当按Esc出错退出时恢复捕捉方式的初始状态,但无论oldosmode及olderror为局部变量与否好像都不能恢复,*error*的值好像好像也变了,或者说对myerror函数并没有执行,不知错在哪里,实在是令人郁闷不已,还请各位多多指点。</P>

ljpnb 发表于 2006-2-23 18:55:00

(defun myerror()改成 (defun myerror(msg)

wandong 发表于 2006-2-23 19:51:00

但是myerror里没有用到msg形式参数啊,难道*error*函数有什么特别的吗

ljpnb 发表于 2006-2-23 20:03:00

<P>查看一下CAD自带的帮助</P>

wandong 发表于 2006-2-23 20:09:00

实在不好意思,我看了几遍,可能是天生愚钝,没看出个所以然,还请阁下明示,不胜感谢.

ljpnb 发表于 2006-2-23 20:39:00

这个我也不是很清楚,估计错误函数定义时,必须要加一个参数

wandong 发表于 2006-2-23 20:48:00

<P>多谢了.</P>

jyzas 发表于 2013-7-21 07:15:05

试不了效果来
页: [1]
查看完整版本: *error*用法