LABVIEW深入探索---reference(參考)和refnum(參考號)
控件是一個層次的繼承結構:
因為控件是個典型的類的繼承結構,因此參考(指針)應該是可以向更基本的類或者更高層的類轉換的,LV本身也的確提供了轉換的節(jié)點。
我在CLASSNAME和CLASSID的文章中多次用到這兩個節(jié)點,朋友們可以參考一下。
對于一個前面板對象,使用REFNUM似乎沒有用途,因為前面板的控件是已知的,我們可以直接生成屬性節(jié)點。更常用的功能是把參考放在SUBVI中,該SUBVI的輸入是一個控件參考,因此,它不指向任何一個特定對象,因此它可以完成對所有同類對象的屬性控制。
看個例子:
這樣,我們就在SUBVI封裝了數值型控件的屬性,在主VI中,只需要傳入特定控件的參考,就可以自動實現(xiàn)對這個控件的屬性控制。
我在MULTILISTBOX和TABLE的特效制作中用的就是控件參考,可以參閱一下。
有些參考,比如文件參考,在沒有打開文件時,顯然號是空的,當操作完成后,需要進行關閉操作,釋放內存。當再次打開文件是,又會產生一個新的臨時的參考號,前后兩個參考號沒有任何關系,因為參考號是指向對象的臨時指針,當對象不存在了時候,顯然參考號也就不存在了。
參考和參考號使用非常廣泛,又比較難于理解,需要多試驗才能深入理解。
評論