色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > labview的深入探索----labview與回調(diào)函數(shù)

          labview的深入探索----labview與回調(diào)函數(shù)

          作者: 時(shí)間:2017-01-09 來源:網(wǎng)絡(luò) 收藏
          回調(diào)函數(shù)是WINDOWS編程(API編程)的核心內(nèi)容之一,在許多高級編程語言,如VB,VC(MFC)中已經(jīng)封裝了回調(diào)函數(shù),取而代之的是事件響應(yīng)函數(shù),但是,追溯其本質(zhì),實(shí)際就是回調(diào)函數(shù).

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

          我們看一下CVI中的一般回調(diào)函數(shù)的定義

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

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

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

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

          event1 event2 表示事件的類型和相應(yīng)數(shù)據(jù),比如鼠標(biāo)坐標(biāo)等

          回調(diào)函數(shù)是一般高級編程語言的基本功能,但是,在LABVIEW8.X之前是不支持的,這極大限制了LABVIEW功能的擴(kuò)展,因?yàn)锳CTIVEX,.NET都需要回調(diào)函數(shù).

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



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

          下面我們做一個(gè)簡單的回調(diào)函數(shù)的程序,有兩個(gè)功能,返回當(dāng)前值的變化和記錄控件被點(diǎn)擊的次數(shù)


          注冊回調(diào)函數(shù)需要三個(gè)參數(shù):控件參考,用戶參數(shù)和自動(dòng)生成的回調(diào)函數(shù),有了控件參考,我們就可以選擇事件的類型,用戶參數(shù)主要是用于返回結(jié)果,因?yàn)榛卣{(diào)函數(shù)是由操作系統(tǒng)調(diào)用的,沒有辦法通過數(shù)據(jù)流返回處理結(jié)果.

          添加了這兩個(gè)參數(shù)后,就可以自動(dòng)生成回調(diào)函數(shù)了



          回調(diào)函數(shù)如下圖所示



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


          這樣值變化的回調(diào)函數(shù)完成了,下面我們通過鼠標(biāo)UP事件來記錄被點(diǎn)擊的次數(shù)

          上一頁 1 2 下一頁

          關(guān)鍵詞: labview回調(diào)函

          評論


          技術(shù)專區(qū)

          關(guān)閉