clement 发表于 2005-1-24 15:22:00

如何避免End语句造成的“执行错误”提示

我的目的是彻底终止程序,释放占用的内存。


1.新建工程


2.添加窗体,名称为UserForm1<BR>代码为<BR>Private Sub UserForm_Terminate()<BR>       End<BR>End Sub


3.添加模块<BR>Public Sub ShowUserForm1()<BR>       UserForm1.Show<BR>End Sub


4.新建一LSP文件<BR>内容为<BR>(defun c:ShowUserForm1 (/ oldecho)<BR>               (setq oldecho (getvar "cmdecho")) <BR>               (setvar "cmdecho" 0)<BR>               (command "-VBARun" "ShowUserForm1")<BR>               (setvar "cmdecho" oldecho)<BR>               (princ)<BR>)


5.加载上面的LSP文件


6.在命令行键入“ShowUserForm1”,窗体出现


7.关闭窗体后,命令行提示“执行错误”


如果按Alt+F8选择ShowUserForm1执行,或者在UserForm1的代码窗口上按F5运行的话,命令行都不会有这个提示。看来这与从自定义命令调用该宏有关,请教问如何能避免命令行提示“执行错误”。

clement 发表于 2005-1-24 18:46:00

已经解决了


不用在UserForm_Terminate的时候End,而是在LSP文件中完成


取消2中的代码


Private Sub UserForm_Terminate()<BR>       End<BR>End Sub


并将4改成


(defun c:ShowUserForm1 (/ oldecho)<BR>               (setq oldecho (getvar "cmdecho")) <BR>               (setvar "cmdecho" 0)<BR>               (command "-VBARun" "ShowUserForm1")<BR>               (command "VBASTMT" "End")<BR>               (setvar "cmdecho" oldecho)<BR>               (princ)<BR>)<BR>

weihedao 发表于 2007-12-29 09:09:00

<p>同问!</p>

pmq 发表于 2008-1-5 09:32:00

<p>Private Sub UserForm_Terminate()<br/>&nbsp; me.Hide</p><p>&nbsp; set UserForm1=NOthing<br/>End Sub</p>
页: [1]
查看完整版本: 如何避免End语句造成的“执行错误”提示