控件引用句柄在引用句柄经典引用句柄选板上,它可将前面板对象的引用传输给其他VI。右键单击前面板对象,从快捷菜单中选择创建»引用,可建立一个VI服务器引用。而且,也可在程序框图上的VI服务器常量中找到前面板对象的位置。右键单击程序框图上的引用按钮,从快捷菜单中选择查找控件。将VI服务器的引用传输到子VI后,属性节点调用节点可用来读写属性,还可以调用已经引用的前面板对象的方法。

注: 控件引用不会自动将VI保持在内存中,也不决定VI是否在内存中。如VI离开内存,控件引用即告失效。使用控件引用时要使VI常驻内存,可使用打开VI引用函数获取VI,然后使用关闭引用函数关闭VI。只要保证VI的前面板打开,就能保证VI常驻内存。

也可使用事件,通过前面板对象以编程方式控制程序框图。

尽管控件引用可以用来传输数据,但是如需提高其性能则需对控件本身或使用局部或全局变量进行读/写操作。

控制引用与用文本编程语言中的用户界面对象引用相似,而不是类似于文本编程语言中的指针。

关于使用控件引用的范例,请参考labview\examples\Application Control\VI Server\Control References目录下的Control References VI。查找相关范例

严格类型和非严格类型控件引用句柄

严格类型控件引用句柄仅接收数据类型完全相同的控件引用句柄。例如,如果严格类型控件引用句柄的类型是32位的整数滑动条,那么只能把一个32位整数滑动条连接到该引用句柄接线端,而不能将8位整数滑动条、双精度标量滑动杆、32位整数滑动杆簇等数据类型与之连接。

在控件上创建的引用在默认情况下是严格类型的。前面板上控件引用左下角的红色星形符号表明该控件引用是严格类型的。在程序框图上,在连接到控件引用接线端的属性节点或调用节点显示(严格)表明该控件引用是严格类型的。

注:由于触发机械动作与严格类型的控件引用不兼容,具有触发机械动作的布尔控件生成的是非严格类型控件引用。

非严格类型控件引用句柄接收的数据类型较灵活。例如,假设一个非严格类型控件引用的类型属于滑动杆,那么32位整数滑动杆、单精度滑动杆、32位整数滑动杆簇等都可连接到该控件引用接线端。在非严格类型控件引用状态下,可把任何类型控件与控件引用接线端连接。

注:当某属性节点与一个非严格类型控件引用接线端连接时,在属性中会产生变体数据。在使用该数据前可能需要进行数据转换。只有当图表引用是严格类型时,才能看到图表的历史数据属性。