单单就这个程序的这个提示,实际上并不是错误,而是以这种方式退出,这是exit(quit)函数的正常提示,也就是说,exit函数是使用出错中断方式退出的。
exit退出是最低级的退出方式,正常程序中很少使用,一般只用在一些无法预料的出错时的退出,你的这个程序是示例程序,侧重点应该是对话框的运用,所以使用exit退出是一种“偷懒”的方法。
一般情况下,可以把程序定义成一个个的子函数,然后根据条件进行判别,满足条件则继续,不满足条件则“什么都不做”(退出)。例如: - (defun c:yxp() ;加载DCL文件
- (setq id(load_dialog "yxp.dcl"))
- (if(>= id 0) (yxp_main)) ;满足条件则执行,否则什么都不做
- )
- (defun yxp_main()
- (if (new_dialog "yxp" id) (yxp_main1))
- )
- (defun yxp_main1()
- (action_tile "S05" "(setq S 0.5)")
- ...
- )
当然,这是就你的程序做一个示例,也只是方法的一种,在正常条件下,还有其它的方法判断,比如石油while函数循环判断等,这里就不一一叙述了。
没细看你的程序,是不是还有其它错误就不多说了,这里仅仅就exit函数做点解释,希望能对你有用。 |