genius_xxg 发表于 2003-12-22 19:32:00

捕捉的内容全部被消除了,望高手指点

我编制了一个应用程序,保存了osmode的值,但是调用后捕捉的内容全部被消除了,望高手指点

meflying 发表于 2003-12-22 20:42:00

应该看看你的程序,
可能是没有恢复osmode的值,光保存是没用的,还要恢复。。。
这样,如果有出错处理,还得在出错函数里恢复这个值
(defun c:test()
(setq os (getvar "osmode"))
(setvar "osmode" 0)
...
...
...
(setvar "osmode" os)
(princ)
)

luoyaya 发表于 2003-12-23 17:43:00

自己写一个*ERROR*出错函数,把设置OSMODE放在里面
(setvar "osmode" (logior (getvar "osmode") 16384)); turn it off: 16384=0x4000
(setvar "osmode" (logand (getvar "osmode") 49151))
                                        ; turn it on: 49151=0xBFFF
开关OSMODE用上面的最好,这样OSMODE不会不见直接设为0很容易丢掉OSMODE的
页: [1]
查看完整版本: 捕捉的内容全部被消除了,望高手指点