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

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

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

回調函數如下圖所示

簡單編程,CONTROL的值傳遞給INDICATOR

這樣值變化的回調函數完成了,下面我們通過鼠標UP事件來記錄被點擊的次數
評論