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