我很少有 AutoCAD 的 .arx 应用程序。在这些应用程序中,很少有基于菜单的,还有一些是命令行的。现在我想做的是,
- 加载 .arx 应用程序,
- 运行它然后
- 一旦 .arx 应用程序通过 LISP 命令运行,就卸载它。一旦用户单击提供的选项卡,.arx 应用程序就会运行。.arx 应用程序是用 VC++ 编写的。
现在我有一个 lisp 文件,一旦用户启动 AutoCAD,它就会被加载。在 lisp 文件中,我为各种 .arx 应用程序声明了这些函数;
(defun c:XYZ_program() (command) (command) (arxload "C:/ABC/XYZ.arx") (command "XYZ_program") (arxunload "XYZ.arx")
它适用于需要从基于菜单的表单中输入数据的程序,但是对于需要命令行输入的程序来说卸载 xyz.arx 时出错。
我想知道 LISP 中是否有任何命令可以确保 arxunload "XYZ.arx" 只执行一次(命令 "XYZ_program")。
我不确定如何解决这个问题。任何相同的帮助将不胜感激。
我目前使用的代码是这样的;
(
defun c:XYZ_program() (command) (command)
(arxload "C:/Example/Folder/XYZ.arx")
(command "XYZ_program")
ads_queueexpr( (arxunload "XYZ.arx") )
)