CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

测试使用 VLX 文件中的私有数据 (AutoLISP/Visual LISP IDE)

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

摘要: VLX 文件可以配置为跨不同命名空间访问数据。

VLX 文件可以配置为跨不同命名空间访问数据。

  1. 在 Visual LISP 控制台窗口中输入以下命令:
    (vlax-ldata-put "mydict" "mykey" "Mumbo Dumbo")
    "Mumbo Dumbo"
    
    (vlax-ldata-get "mydict" "mykey")
    "Mumbo Dumbo"
  2. 在文件中输入以下代码,然后使用“生成应用程序”从该文件构建 VLX。使用“生成应用程序”向导的“专家”模式,然后选择“编译选项”选项卡上的“单独的命名空间”选项。
    (vl-doc-export 'ldataput)
    (vl-doc-export 'ldataget)
    (vl-doc-export 'ldataget-nilt)
    
    (defun ldataput ()
      (princ "This is a test of putting private ldata ")
      (vlax-ldata-put "mydict" "mykey" "Mine! Mine! " T)
    )
    
    (defun ldataget ()
      (vlax-ldata-get "mydict" "mykey")
    )
    
    (defun ldataget-nilt ()
      (vlax-ldata-get "mydict" "mykey" nil T)
    )
  3. 加载 VLX 文件。
  4. 运行保存私有数据:ldataput
    (ldataput)
    This is a test of putting private ldata

    参考代码定义:此函数存储一个包含“Mine!我的!ldataput

  5. Runto 检索 LISP 数据:ldataget
    (ldataget)
    "Mumbo Dumbo"

    请注意,返回的数据不是存储者的数据。这是因为没有在其调用中指定私有参数。因此,检索的数据是通过在步骤 1 中发出来设置的数据。ldatagetldataputldatagetvlax-ldata-getldatagetvlax-ldata-put

    (ldataget-nilt)
    "Mine! Mine!"
  6. Runto 检索 LISP 数据:ldataget-nilt
    (ldataget-nilt)
    "Mine! Mine!"

    这次返回了保存的私有数据,因为在其调用中指定了私有参数。ldataputldataget-niltvlax-ldata-get

  7. 在控制台提示符下,发出用于检索私有数据的相同调用:ldataget-nilt
    (vlax-ldata-get "mydict" "mykey" nil T)
    "Mumbo Dumbo"

    当在单独的命名空间 VLX 外部发出时,将忽略私有参数。如果指定的字典存在非私有数据(如本例所示),则将检索该数据。vlax-ldata-get


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-5-19 14:31

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部