CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

关于从单独的命名空间 VLX 访问外部 ObjectARX 函数(Visual LISP IDE)

2023-1-6 03:28| 发布者: admin| 查看: 511| 评论: 0|来自: AutoCAD

摘要: 外部 ObjectARX 应用程序中定义的函数可以从单独的命名空间 VLX 访问,但您必须先发出 vl-arx-import 才能导入函数。

外部 ObjectARX 应用程序中定义的函数可以从单独的命名空间 VLX 访问,但您必须先发出才能导入函数。vl-arx-import

注意:Visual LISP IDE 仅在 Windows 上可用。

ObjectARX 函数被标识为数据类型 EXRXSUBR。例如,以下示例标识为外部 ObjectARX 函数:startapp

命令:(键入启动应用)

EXRXSUBR

如果从 AutoLISP 文件加载,则以下函数可以正常工作:

(vl-doc-export 'StartApp2)
(vl-load-com)
(defun StartApp2 ()
   (setq acadApp (vlax-get-acad-object))
   (setq acadDoc (vla-Get-ActiveDocument acadApp))
   (setq acadPrefs (vla-Get-Preferences acadApp))
   (setq acadPrefFiles (vla-get-Files acadPrefs))
   (setq hlpFile (vla-Get-HelpFilePath acadPrefFiles))
   (startapp "winhlp32" hlpFile)
   (princ)
)
(princ "\nStartApp2 is loaded, Type (StartApp2) to Run.")
(princ)

但是,如果将 StartApp2 编译为单独的命名空间 VLX 并尝试调用该函数,则会失败并显示以下错误消息:

“无函数定义:启动应用”

要更正此问题,请使用函数导入,如以下修订后的代码所示:startappvl-arx-import

(vl-doc-export 'StartApp2)
(vl-load-com)
(vl-arx-import 'startapp)
(defun StartApp2 ()
   (setq acadApp (vlax-get-acad-object)
)

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 12:45

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部