gcho 发表于 2011-7-25 17:32:54

菜单加载exe文件为何出错

在cad的support目录下写有如下两个文件及pj2003.exe和gf.chm文件

lsp文件(exe.lsp)
;***********************************************
(defun c:pj()
(startapp "pj2003.exe")
)
;***********************************************
(defun c:gf()
(startapp "hh.exe" "gf.chm")
)
;***********************************************



菜单文件(mytools.mnu)
//MyTools
//   [-----]
***MENUGROUP=MyTools
***POP1

ID_TOOL    [->工具(&G)]
ID_TOOLgf[规范(&G)]^C^C(load "exe.lsp");gf
ID_TOOLpj[配筋(&H)]^C^C(load "exe.lsp");pj


为什么菜单能调用gf.chm文件,不能调用pj2003.exe程序,但是在cad里执行defun c:pj()那段代码时又能够调出pj2003.exe,我是初学者,请大家多多指教!

caoyin 发表于 2011-7-25 23:45:13

楼主的菜单只是加载文件,而没有调用指定函数
ID_TOOLpj[配筋(&H)]^C^C(or c:pj (load "exe.lsp"))(c:pj)

gcho 发表于 2011-7-26 08:20:24

caoyin 发表于 2011-7-25 23:45 static/image/common/back.gif
楼主的菜单只是加载文件,而没有调用指定函数
ID_TOOLpj[配筋(&H)]^C^C(or c:pj (load "exe.lsp"))(c:pj ...

谢谢版主!

gcho 发表于 2011-7-26 09:54:10

caoyin 发表于 2011-7-25 23:45 static/image/common/back.gif
楼主的菜单只是加载文件,而没有调用指定函数
ID_TOOLpj[配筋(&H)]^C^C(or c:pj (load "exe.lsp"))(c:pj ...

继续追问版主:
菜单文件:
ID_TOOLme^C^C(or c:me (load "exe.lsp"))(c:me)


exe.lsp文件对应的me程序:
(defun c:me()
(startapp "explorer.exe" "D:\\Program Files\\CADTolls\\exe.lsp")
)


单独执行defun c:me()可 以,但通过菜单文件不能调用!

ZZXXQQ 发表于 2011-7-26 10:56:13

真是可以!用load函数加载exe文件。

gcho 发表于 2011-7-26 11:17:05

加载自己的好像就是不行!

caoyin 发表于 2011-7-26 15:07:32

回复 gcho 的帖子

(startapp "explorer.exe" "D:\\Program Files\\CADTolls\\exe.lsp")
你用WIn资源管理器打开.LSP文件?

-----------------------------------------------------------------------------------------
感觉不如直接在菜单中调用LISP代码,而不是去调用LISP文件
ID_TOOLme(startapp (findfile "MyExeFile.exe"))
页: [1]
查看完整版本: 菜单加载exe文件为何出错