LABVIEW的深入探索之已鏈接控件引用與未鏈接控件引用
是否可以這樣說:在控件所屬的vi中,使用屬性、方法節(jié)點不需要創(chuàng)建引用;而在子vi中如果需要向該控件傳值,則必須使用該控件的引用
本文引用地址:http://m.butianyuan.cn/article/201701/337241.htm控件的引用與引用控件的確理解起來很困難,用語言描述經(jīng)常會出現(xiàn)誤解。今天我們首先明確控件的引用和引用控件這兩個不同的概念。
一、已鏈接控件的引用、屬性節(jié)點、方法節(jié)點與未鏈接的控件的引用、屬性節(jié)點和方法節(jié)點
1、已鏈接控件的引用、屬性和方法。
對于前面板中創(chuàng)建的控件,通過控件的快捷菜單創(chuàng)建的控件的引用、屬性和方法,我們稱他們?yōu)橐焰溄涌丶囊?、屬性和方法。對于已連接控件的引用、屬性和方法,我們知道它們已經(jīng)指向一個特定的控件,這樣的引用、屬性和方法是不能隨意更改它們的指向的。
圖中,高老師和CSXCS_366數(shù)字控件分別各自創(chuàng)建了引用和屬性節(jié)點。高老師的引用是指向高老師數(shù)字控件的。高老師的可見屬性也是指向高老師數(shù)字控件的。我們稱高老師引用和高老師屬性已鏈接到高老師控件。
由于各自指向(鏈接)到不同的控件,所以對高老師的引用、屬性和方法的操作是針對高老師控件的,絕對不會影響到CSXCS_366控件。
是否可以這樣說:在控件所屬的vi中,使用屬性、方法節(jié)點不需要創(chuàng)建引用;
從上圖看高老師的說法是正確的
2、未鏈接控件的引用、屬性和方法
我過去的文章中稱未鏈接控件的引用、屬性和方法為通用引用、屬性和方法,這里采用未鏈接控件的引用、屬性和方法,更容易區(qū)分已鏈接控件的引用、屬性和方法。
由于LV中文版出現(xiàn)的很晚,即使現(xiàn)在中文幫助文件中,很多翻譯方法很難反映原來的意思,這也造成我們溝通理解的困難。所以我們能理解清楚,我特意強調(diào)了這兩個概念的不同。
在上圖中,高老師數(shù)字控件和CSXCS_366數(shù)字控件,所代表的數(shù)值類型是完全一致的,具有很多共同的屬性、方法。
-------------------------------------------------------------------------------------------------
二、為什么要用未鏈接控件的屬性節(jié)點和方法節(jié)點?
假設(shè)我們要解決下面的問題,將高老師輸入控件和CSXCS_366控件修改為顯示控件,這兩個控件用來顯示隨機數(shù),當隨機數(shù)大于0.7時,控件閃爍。首先我們在一個主VI中解決這個問題。
上圖中我們使用兩個屬性節(jié)點,分別是已鏈接到控件的閃爍屬性,假設(shè)我們有很多的這樣的隨機數(shù)顯示,那么按照上圖中的編程方法,將會有大量的重復(fù)工作。
首先我們考慮如何能消除多個同樣性能的閃爍屬性節(jié)點,自然我們會考慮,避免大量重復(fù)工作最好的辦法是FOR循環(huán)。我們設(shè)想在FOR循環(huán)中只放置一個閃爍的屬性節(jié)點,很顯然循環(huán)中是不能放置已鏈接的控件屬性節(jié)點,因為那樣只會多次修改同一個控件。所以循環(huán)中要放置一個為鏈接控件的閃爍屬性節(jié)點,然后利用高老師和CSXCS_366顯示控件的引用來調(diào)用這個未鏈接的屬性節(jié)點。
假設(shè)我們有100個顯示隨機數(shù)的控件,那么之需要創(chuàng)建100個控件的引用,把這些引用創(chuàng)建成數(shù)組,F(xiàn)OR循環(huán)中不需要任何改動。從上圖中我們可以知道,對于已鏈接控件的屬性節(jié)點,在運行過程中是無法再次鏈接到其它同類型的控件中。而未連接(通用)屬性節(jié)點可以在運行中通過不同的控件引用,動態(tài)鏈接到其它同類型的控件中,這是我們使用未鏈接控件屬性節(jié)點關(guān)鍵所在。
評論