labview的深入探索----labview與回調函數
所謂WINDOWS回調函數,就是按照WINDOWS的規范,編寫(xiě)的(CALLBACK)函數,當WINDOWS檢測到事件發(fā)生時(shí),自動(dòng)調用的函數,WINDOWS是通過(guò)函數指針調用的,因此,回調函數的內容是由用戶(hù)決定的,而何時(shí)調用是由操作系統決定的.
我們看一下CVI中的一般回調函數的定義
int callback aaaa(int panel,int control,int event1,int event2,callbackdata *data);
回調函數的參數是有操作系統提供的,比如上面的回調函數,
panel---表示的哪個(gè)面板(窗口)發(fā)生的事件
control---表示的面板上哪個(gè)控件發(fā)生的事件
event1 event2 表示事件的類(lèi)型和相應數據,比如鼠標坐標等
回調函數是一般高級編程語(yǔ)言的基本功能,但是,在LABVIEW8.X之前是不支持的,這極大限制了LABVIEW功能的擴展,因為ACTIVEX,.NET都需要回調函數.
8.X中,增加了回調函數的功能,主要用于A(yíng)CTIVE,.NET和LABVIEW自身控件,LABVIEW例子程序中提供了幾個(gè)例子,是有關(guān)ACTIVEX和.NET調用的,下面,我們通過(guò)LABVIEW自身控件說(shuō)明一下回調函數的使用方法.

在.NET摸板中也提供了這個(gè)節點(diǎn),從分類(lèi)上就可以看出,注冊回調函數主要是用于A(yíng)CTIVEX和.NET的.
下面我們做一個(gè)簡(jiǎn)單的回調函數的程序,有兩個(gè)功能,返回當前值的變化和記錄控件被點(diǎn)擊的次數

注冊回調函數需要三個(gè)參數:控件參考,用戶(hù)參數和自動(dòng)生成的回調函數,有了控件參考,我們就可以選擇事件的類(lèi)型,用戶(hù)參數主要是用于返回結果,因為回調函數是由操作系統調用的,沒(méi)有辦法通過(guò)數據流返回處理結果.
添加了這兩個(gè)參數后,就可以自動(dòng)生成回調函數了

回調函數如下圖所示

簡(jiǎn)單編程,CONTROL的值傳遞給INDICATOR

這樣值變化的回調函數完成了,下面我們通過(guò)鼠標UP事件來(lái)記錄被點(diǎn)擊的次數
評論