CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

关于在应用程序自己的命名空间中运行应用程序(Visual LISP IDE)

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

摘要: 您可以在 Visual LISP 中为 VLX 应用程序定义命名空间。

您可以在 Visual LISP 中为 VLX 应用程序定义命名空间。

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

以这种方式定义的 VLX 应用程序称为单独的命名空间 VLX。当您加载单独的命名空间 VLX 时,它会在其自己的命名空间中运行,而不是在您加载 VLX 的文档的命名空间中运行。使用自己的命名空间定义 VLX 应用程序的选项是“生成应用程序”过程的一部分。

如果您尝试加载已加载的单独命名空间 VLX,您将收到指示此问题的错误。使用该函数卸载应用程序。该函数的语法为vl-unload-vlx

(vl-unload-vlx "appname")

对于appname,请指定 VLX 文件名,不带路径或 .vlx扩展名。

VLX 应用程序命名空间中定义的变量和函数仅对应用程序所知,而对加载应用程序时处于活动状态的图形文档不知道。这使您可以保护变量不被其他应用程序或用户意外或故意覆盖。

VLX 应用程序可以将函数名称导出到文档命名空间,以便能够在该文档的上下文中访问这些函数。下图说明了其工作原理:

该图显示了一个包含两个打开的工程图文档的 AutoCAD 会话;文档 1文档 2。名为“Hangman”的 VLX 应用程序相对于Document1 加载(例如,用户打开Document1,然后从 AutoCAD 命令提示符加载 VLX 应用程序)。Hangman 应用程序建立了自己的命名空间,并在该命名空间中声明了函数和变量。bardooley

VLX 将该函数导出到Document1 的命名空间。当用户从Document1 调用时,bar 在应用程序的命名空间中运行。该函数对于Document2 是未知的,并且两个文档都无法访问该变量(因为 VLX 没有导出它)。您可以将刽子手 VLX 的另一个实例加载到Document2 中,但此实例将具有自己的命名空间和自己的 and。barbarbardooleybardooley

注意:加载尚未定义为具有自己的命名空间的 VLX 文件时,环境类似于加载文件的环境。VLX 应用程序中定义的所有函数和变量都加载到文档的命名空间中。

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部