只需一步,快速开始
我的机子有这样的现象:
如果加载的lisp程序中使用了*error*函数,在运行或调试lisp程序时,只要出错,显示信息都是同一个: 错误:*error*函数中出错,AutoCAD变量设置被拒绝:"blipmode" nil
只有清除加载程序中的*error*函数,才会反映出正确的出错信息。
这样很烦,有时候不得不用*error*函数,但用了以后,就看不到正确的错误提示,在调试程序时无从下手(只能从头重新看)。 又没有什么办法可以解决这种问题?
使用道具 举报
你是不是没有定义自己的*error*函数啊,
建议看一下"批量打印"的原程序,
dispbbs.asp?boardID=3&ID=39714&page=1
可以看看如何定义自己的 *error*函数.
我的程序格式如下
(defun *error* (msg)
。。。)
主程序。。。
另外,我的意思是: 当有别的加载程序定义了*error*函数时,相对于我当前程序的错误显示始终是一个显示,比如我把(vl-load-com) 错写成了(vla-load-com) 调试程序时的错误显示还是“错误:*error*函数中出错,AutoCAD变量设置被拒绝:"blipmode" nil” 其实我根本没涉及blipmode。
可能是我没说明白,我的意思是加载程序和调试程序是两个程序,且没有任何关联, 只要任何一个加载程序调用了*error*函数,就会对调试程序时的错误显示产生影响。
不要直接重定义*error*函数,应该这样
(defun err(msg)
...;你的错误处理!
(setq *error* errtmp) ;如果出错了,也要恢复错误处理函数
)
;主程序
(defun main()
(setq errtmp *error*)
(setq *error* err)
.......;程序内容
(setq *error* errtmp);恢复*error*函数
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2024-11-17 23:32 , Processed in 0.197762 second(s), 26 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.