admin 管理员组文章数量: 1086019
2024年3月27日发(作者:二郎神杨戬的妻子)
LabVIEW 中变体使用的一些问题
问题描述:LabVIEW 中有一种特殊的数据类型叫做变体。LabVIEW 官
方将变体成为可以容纳所有数据类型的一个容器,可以传入几乎所有的数据类
型,比如可以将某个数值转换为变体,然后再通过相应的变体至数值转换即可
得到原来的值了。变体有许多很好的用处,但是编程也容易出现问题的,下面
就一点点实践上的问题做下记录。 什么是变体:变体其实存储了两部分内容,
第一部分是数据类型的描述,第二部分就是数值本身的存储了,因此在将数据
类型的值转为变体时,不仅存储了该值,还有相应类型的描述。在从变体转为
数据类型时,需要知道原来的数据类型,然后与之匹配转换出原值。这个功能
看似将数据转来转去,多此一举,而且数据类型弄错就会导致错误的数据,但
是变体是非常有用的,就像 C 语言中的万能指针一样,当不确定需要传入的数
据为何种类型时,其使用价值就体现出来了。可能 LabVIEW 更多的像 C 语言
一些,虽然现在也有面向对象部分的功能,但数据流的形式更加接近于过程控
制。 变体用在何处:上面的在传入数据类型不确定时使用变体很有用是一点,
另外一点就是对 ActiveX 控件数据的传输,比如 MSCOMM 控件,还有数据库
相关的 DCT 工具中数据的存取等,都用到的是变体。 变体使用的最大问题:
最大的问题应该就是数据类型的确定了,这也是变体的本身的属性决定的。许
多时候比如在使用 ActiveX 控件的时候,并不知道变体是如何将数据转换成更
加底层的数据的,也就是只要使用到变体至数值或者是数值至变体中的一个,
变体是从 ActiveX 中传来的,这时就必须详细的了解该 ActiveX 变体所支持的
数据类型了,否则编程中会出现非常奇怪的数据错误问题。比如该 ActiveX 控
件的变体只支持字符串和一维字节数组的传入,但由于没有了解到这一点,在
编程时给 ActiveX 控件变体传入了 float 型数值,程序上并没有错误,但是
版权声明:本文标题:LabVIEW中变体使用的一些问题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1711478820a596152.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论