在Labview中我們經(jīng)常會(huì)碰到這樣幾個(gè)概念,那就是控件的引用,屬性節(jié)點(diǎn)以及局部變量,他們之間到底有哪些區(qū)別呢? 首先談引用,在Labview中長稱為引用句柄,在Windows編程中,引用句柄指的是指向指針的指針,換句話說,引用句柄保存的是其他一些數(shù)據(jù)類型的地址,例如窗口句柄。在Labview中,控件的引用句柄指的也是指向特定數(shù)據(jù)類型的指針,在Labview中,控件的引用句柄是長度為四個(gè)字節(jié),引用句柄不但能夠表示控件的類型,還與空間一一對(duì)應(yīng),這是通過句柄的編號(hào)來實(shí)現(xiàn)的,引用句柄自身未代表任何空間,但是通過引用句柄指向特定的實(shí)例后,就可以操作具體的控件了,簡(jiǎn)單的理解就是通過對(duì)引用句柄的操作,可以改變控件的屬性參數(shù)。
接下來說屬性節(jié)點(diǎn),屬性節(jié)點(diǎn)在Labview中是一個(gè)很重要的概念,屬性節(jié)點(diǎn)用于訪問控件的屬性,例如需要改變控件在前面板的大小,運(yùn)行時(shí)候的狀態(tài)等都需要通過屬性節(jié)點(diǎn)來進(jìn)行操作,與引用結(jié)合起來講就是屬性節(jié)點(diǎn)可以設(shè)置引用的屬性。Labview的屬性節(jié)點(diǎn)功能強(qiáng)大,不同的控件有不同的引用,這些不同的引用都可以通過各自的屬性節(jié)點(diǎn)來進(jìn)行設(shè)置,但需要注意的是,屬性節(jié)點(diǎn)的執(zhí)行效率比較低,甚至比全局變量的效率還要低,所以NI一般建議少用屬性節(jié)點(diǎn)。
最后說局部變量,局部變量相當(dāng)于C語言中的局部變量一樣,通過局部變量可以在一個(gè)VI中訪問或者存儲(chǔ)數(shù)據(jù),通常這些數(shù)據(jù)都是存儲(chǔ)在不同的顯示或者輸入控件當(dāng)中,所以說局部變量不是單獨(dú)存在的,每一個(gè)局部變量都是與特定的控件相對(duì)應(yīng)的,一個(gè)控件可以生成許多局部變量,就相當(dāng)于在一個(gè)函數(shù)中定義了一個(gè)變量,在函數(shù)的任何地方都可以使用這個(gè)變量一樣,每一個(gè)局部變量都要復(fù)制對(duì)應(yīng)控件中的數(shù)據(jù),因此這將消耗更多的內(nèi)存,因此在labview中一些大的數(shù)組中不建議使用局部變量。
評(píng)論