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