关于动态加载dvb工程遇到的问题
最近遇到几个问题,这是其中一个。我采用lisp动态加载dvb的方法,加载dvb文件,
(defun c:zdg()
(vl-vbarun "d:\\mepro.dvb!zdg")
(while (= "-VBARUN" (getvar "CMDNAMES"))
(command pause)
)
(command "VBAUNLOAD" "c:\\mepro.dvb")
(princ)
)
用这种方法后,点击快捷栏后,命令行出现“zdg”后即停住,还得回下车才能继续zdg执行命令,这怎么解决?
还有这种方法使得自编的那些命令--执行前首先需要加载“vl-load-com”的命令都不好用了。
还有一种直接用vba中断自身的方法,不过这种方法实在讨厌,每个命令执行完都必须在命令行中显示一个其它命令(或vbaunload或执行一lisp文件的方法实现vbaunload)。
难道动态加载dvb就没有什么好办法么?
路过的高手请帮助斟酌斟酌,真的期盼高手解惑啊。
第一个问题,(vl-vbarun "d:\\mepro.dvb!zdg ") 最后加一个空格应该就可以了。
第二个问题,既然你要先运行ZDG这个宏,那么可以把c:\\mepro.dvb这个工程放在ZDG这个宏里加载,就不会在命令行出现文本了。
谢谢烟雨.江南,不过这句“第二个问题,既然你要先运行ZDG这个宏,那么可以把c:\\mepro.dvb这个工程放在ZDG这个宏里加载,就不会在命令行出现文本了。”我没有理解什么意思,是指我说的卸载dvb还是我说的“需要加载“vl-load-com”的命令都不好用了”这个问题?能否细说一下?谢谢。 哦,抱歉,(command "VBAUNLOAD" "c:\\mepro.dvb") 这一行看错了,看成VBALOAD了,所以我说了在宏里加载。
在宏里用LoadDVB 和 UnLoadDVB 命令就可以实现动态加载和卸载DVB工程,而且命令行不会出现提示文字。
语法是 :
LoadDVB 文件名
UnLoadDVB 文件名
其中,文件名包括路径。
哦,VBA里直接可用unloadDVB这命令么!实在惭愧,我还用sendcommand发送vbaunload呢。
非常感谢烟雨.江南,谢谢,我试一下。
页:
[1]