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