你好,看了源代码后,有一些疑惑想请教一下:
1. 在出错处理这块,- ;;出错处理
- (defun *error*_New (msg)
- (setq *error* *error*_Old)
- (if (wcmatch (strcase msg t) "*break,*cancel*,*exit*,*取消*")
- (if (= (getvar "LOCALE") "CHS")
- (princ "\n用户按了<Esc>强制退出")
- (princ "\nYou cancelled The operation!")
- )
- (princ (strcat "\n" msg))
- )
- (vla-EndUndoMark ;回退
- (vla-get-ActiveDocument (vlax-get-acad-object))
- )
- (Restore_Locked_Layers Locks)
- (princ)
- )
- (setq *error*_Old *error*) ;保存出错处理函数
- (setq *error* *error*_New)
-
这里的*error*_New为什么没有带参数msg?
这里为什么要采用一个*error*_Old *error*_New?传递过程不太清楚,能否指导一下这样做的意义吗?
|