用vl-doc-export和vl-doc-import函数实现autolisp自定义函数的引用
vl-doc-export和vl-doc-import函数配合使用,可实现自定义函数的引用,可将常用的自定义函数放到一个文件中,类似一个库文件,在其他程序中直接引用,提高代码复用效率。
1、首先用vl-doc-export声明函数可被引用,如TestAdd.lsp文件代码如下:
(vl-doc-export 't-plus) ;这个声明必须放到所有函数之外,文件的顶层
(defun t-plus (a b / sum a b)
(setq sum (+ a b))
(princ "\na+b=")
(princ sum)
(print)
)
2、在visual Lisp中将TestAdd.lsp编译为testadd.VLX文件,注意:使用应用程序向导的专家模式,vlx文件的名称要和lsp文件一致(不分大小写),这样vlx文件就不依赖fas文件了,选中“独立名称空间”选项(这一点比较重要)。
3、在要引用上述函数的文件中,先加载vlx文件,再用vl-doc-import引用函数,以下是a-add-b.lsp文件的代码:
(if (vl-vlx-loaded-p "testadd")
() ;如果已加载,什么都不做
(load "d:/testadd.vlx") ;如果没有加载,用load函数加载D盘根目录下的testadd.vlx文件
)
(vl-doc-import "testadd" 't-plus)
(defun c:a-add-b()
(setq a (getreal "a="))
(setq b (getreal "b="))
(t-plus a b)
)
最终效果如下:


浙公网安备 33010602011771号