新聞中心

EEPW首頁 > 測試測量 > 設計應用 > labview的深入探索----labview與回調函數

labview的深入探索----labview與回調函數

作者: 時間:2017-01-09 來源:網絡 收藏
回調函數是WINDOWS編程(API編程)的核心內容之一,在許多高級編程語言,如VB,VC(MFC)中已經封裝了回調函數,取而代之的是事件響應函數,但是,追溯其本質,實際就是回調函數.

所謂WINDOWS回調函數,就是按照WINDOWS的規(guī)范,編寫的(CALLBACK)函數,當WINDOWS檢測到事件發(fā)生時,自動調用的函數,WINDOWS是通過函數指針調用的,因此,回調函數的內容是由用戶決定的,而何時調用是由操作系統(tǒng)決定的.

我們看一下CVI中的一般回調函數的定義

int callback aaaa(int panel,int control,int event1,int event2,callbackdata *data);

回調函數的參數是有操作系統(tǒng)提供的,比如上面的回調函數,

panel---表示的哪個面板(窗口)發(fā)生的事件

control---表示的面板上哪個控件發(fā)生的事件

event1 event2 表示事件的類型和相應數據,比如鼠標坐標等

回調函數是一般高級編程語言的基本功能,但是,在LABVIEW8.X之前是不支持的,這極大限制了LABVIEW功能的擴展,因為ACTIVEX,.NET都需要回調函數.

8.X中,增加了回調函數的功能,主要用于ACTIVE,.NET和LABVIEW自身控件,LABVIEW例子程序中提供了幾個例子,是有關ACTIVEX和.NET調用的,下面,我們通過LABVIEW自身控件說明一下回調函數的使用方法.



在.NET摸板中也提供了這個節(jié)點,從分類上就可以看出,注冊回調函數主要是用于ACTIVEX和.NET的.

下面我們做一個簡單的回調函數的程序,有兩個功能,返回當前值的變化和記錄控件被點擊的次數


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

添加了這兩個參數后,就可以自動生成回調函數了



回調函數如下圖所示



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


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

上一頁 1 2 下一頁

關鍵詞: labview回調函

評論


技術專區(qū)

關閉