CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

关于导入类型库 (AutoLISP/ActiveX)

2023-1-8 00:22| 发布者: admin| 查看: 227| 评论: 0|来自: AutoCAD

摘要: 与许多编程语言不同,您可以在运行时而不是在编译时使用 AutoLISP 加载类型库。

与许多编程语言不同,您可以在运行时而不是在编译时使用 AutoLISP 加载类型库。

注意:AutoLISP 中的 ActiveX 支持仅限于 Windows。

该函数用于导入类型库。导入类型库时,AutoCAD 会创建一组包装函数,这些函数提供对应用程序方法和特性的访问。该函数是一个帮助程序函数,用于加载 AutoCAD 类型库并包装它公开的函数。vlax-import-type-libraryvl-load-comvla-

调用函数时,必须标识类型库,并告知 AutoCAD 在命名应用程序的方法和特性的包装函数时使用哪些前缀。还有应用程序常量的前缀。该函数采用以下语法:vlax-import-type-libraryvlax-import-type-library

(vlax-import-type-library :tlb-filename filename [ :methods-prefix mprefix :properties-prefix pprefix :constants-prefix cprefix])

文件名参数是命名类型库的字符串。如果未指定路径,AutoCAD 将在“支持文件搜索路径”中查找文件。

mprefix参数指定要用于方法包装器函数的前缀。例如,如果类型库包含“计算”方法,并且mprefix参数设置为“cc-”,则 AutoCAD 将生成一个名为 cc-计算的包装函数。此参数默认为 “”。

pprefix参数指定要用于属性包装器函数的前缀,cprefix参数定义要用于类型库中包含的常量的前缀。这些参数也默认为 “”。

导入类型库后,可以使用 Visual LISP Apropos 功能列出导入产生的 ActiveX 包装函数。例如,在“Apropos 选项”对话框中输入mswm,然后选择“按前缀匹配”选项以列出所有 Microsoft Word ActiveX 方法。通过导入应用程序的类型库,您可以在应用程序的属性和方法上使用 Visual LISP 功能(如 Apropos),但即使不导入其类型库,也可以访问该应用程序。

使用时,建议采取以下做法:vlax-import-type-library

  • 希望代码在不同的计算机上运行,请避免在tlb 文件名参数中指定绝对路径。
  • 如果可能,请避免从任何 AutoLISP 表达式内部使用(换句话说,始终从顶级位置调用它)。vlax-import-type-library
  • 在 AutoLISP 源文件中,在使用类型库中定义的方法或属性包装器或常量的任何代码之前对调用进行编码。vlax-import-type-library

下面的代码导入一个 Microsoft Word 类型库,将前缀 mswm- 分配给方法,将 mswp- 分配给属性,将 mswc- 分配给常量:

(if (equal nil mswc-wd160Words) ; check for a Word constant
  (vlax-import-type-library
    :tlb-filename "C:/Program Files (x86)/Microsoft Office/root/Office16/msword.olb"
    :methods-prefix "mswm-"
    :properties-prefix "mswp-"
    :constants-prefix "mswc-"
  )
)

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-5-19 13:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部