LABVIEW深入探索---reference(参考)和refnum(参考号)
控件是一个层次的继承结构:

因为控件是个典型的类的继承结构,因此参考(指针)应该是可以向更基本的类或者更高层的类转换的,LV本身也的确提供了转换的节点。

我在CLASSNAME和CLASSID的文章中多次用到这两个节点,朋友们可以参考一下。
对于一个前面板对象,使用REFNUM似乎没有用途,因为前面板的控件是已知的,我们可以直接生成属性节点。更常用的功能是把参考放在SUBVI中,该SUBVI的输入是一个控件参考,因此,它不指向任何一个特定对象,因此它可以完成对所有同类对象的属性控制。
看个例子:

这样,我们就在SUBVI封装了数值型控件的属性,在主VI中,只需要传入特定控件的参考,就可以自动实现对这个控件的属性控制。
我在MULTILISTBOX和TABLE的特效制作中用的就是控件参考,可以参阅一下。
有些参考,比如文件参考,在没有打开文件时,显然号是空的,当操作完成后,需要进行关闭操作,释放内存。当再次打开文件是,又会产生一个新的临时的参考号,前后两个参考号没有任何关系,因为参考号是指向对象的临时指针,当对象不存在了时候,显然参考号也就不存在了。
参考和参考号使用非常广泛,又比较难于理解,需要多试验才能深入理解。
评论