CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

关于使用变体 (AutoLISP/ActiveX)

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

摘要: 变体用于从 ActiveX 函数传递和返回值,这些函数可以返回不同类型的数据。

变体用于从 ActiveX 函数传递和返回值,这些函数可以返回不同类型的数据。

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

有几个 AutoLISP 函数允许您创建和使用变体:

  • vlax-make-variant- 创建变体。
  • vlax-variant-type- 返回变体的数据类型。
  • vlax-variant-value- 返回变量的值。
  • vlax-variant-change-type- 更改变量的数据类型。

该函数接受两个参数:类型参数是要分配给多属性的值。type参数指定要存储在变型中的数据类型。对于“类型”,请指定以下常量之一:vlax-make-variant

  • vlax-vbEmpty未初始化(默认值)
  • vlax-vbNull不包含有效数据
  • vlax-vbInteger整数
  • vlax-vbLong长整数
  • vlax-vbSingle单精度浮点数
  • vlax-vbDouble双精度浮点数
  • vlax-vbString字符串
  • vlax-vbObject对象
  • vlax-vbBoolean布尔
  • vlax-vbArray数组
注意:常量的计算结果为整数值。由于整数值可以更改,因此应始终引用常量,而不是整数值。

例如,以下函数调用创建一个整数变体并将其值设置为 5:

(setq varint (vlax-make-variant 5 vlax-vbInteger))
#<variant 2 5>

返回值指示变体的数据类型 (2,即) 和变体的值 (5)。如果未指定数据类型,则该函数将分配默认类型。vbIntegervlax-make-variant

例如,以下函数调用创建一个变体并为其赋值 5,但不指定数据类型:

(setq varint (vlax-make-variant 5))
#<variant 3 5>

默认情况下,将指定的整数值分配给“长整型”数据类型,而不是“整数”数据类型,正如您所期望的那样。为变量分配数值时,应明确说明所需的数据类型。如果未指定值或数据类型,则分配未初始化的变体。vlax-make-variantvlax-make-variantvlax-vbEmpty


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部