CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

关于使用变体 (AutoLISP/ActiveX)

2023-1-6 01:35| 发布者: admin| 查看: 713| 评论: 0|来自: AutoCAD

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

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

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

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

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

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

  • vlax-vb空未初始化(默认值)
  • vlax-vbNull不包含有效数据
  • vlax-vbInteger整数
  • vlax-vb长长整数
  • vlax-vb单单精度浮点数
  • vlax-vb双倍双精度浮点数
  • vlax-vb字符串字符串
  • vlax-vb对象对象
  • vlax-vb布尔值布尔
  • 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   苏公网安备32011402011833)

GMT+8, 2025-1-8 19:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部