新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 關于事件回調的運用(有關于 中斷)

        關于事件回調的運用(有關于 中斷)

        作者: 時間:2017-01-09 來源:網絡 收藏
        關于事件回調 的解釋 ,官方的是這樣的:

        注冊VI,在事件發生時調用該VI。該函數用于注冊和處理.NET和ActiveX事件。LabVIEW依據連線至各項的輸入引用的類型確定可注冊的事件。

        本文引用地址:http://www.104case.com/article/201701/337120.htm

        我理解的就是:注冊了事件回調之后,當某些事件發生以后,就會觸發程序掉應設置好的子VI,運行子VI,類似于單片機C語言里面的中斷處理。

        看這樣的一個例子(官方原例)

        關于通過回調VI修改標題顯示的例子。

        在VI前面板實現網頁瀏覽的基本功能。

        前面板是這樣的


        程序框圖是這樣的



        事件回調注冊事件 用了兩個事件。即 Titlechange和BeforeNavigate2.我們以第一個回調事件來進行解釋。

        當該瀏覽器控件發生標題改變時間后,就會回調TitleChangeCallback.vi進行某些處理。

        我們打開這個子VI進行查看。





        程序中 就是 將 事件數據 里面的TEXT 賦值給 我們前面板上的字符串顯示控件 Title。

        【當瀏覽器控件的標題發生變化時,事件會存在一個事件數據,這個事件數據當然不會和我們獨立創建的字符串顯示控件(Title控件)產生關聯,于是,我們回調這個子VI將事件的title屬性賦值給字符串顯示控件】

        至于我們應該怎么樣創建一個子VI。下面我們進行簡單的探索。

        我們先 創建一個 事件回調注冊 節點(互連接口——.net——事件回調注冊)

        然后我們將這個節點與 ActiveX控件或.net控件 鏈接起來。

        然后 我們從 第一個選項 “事件”里 選擇 TitleChange 事件。就關聯了Titlechange事件

        右鍵VI引用端子,創建回調VI。就會創建一個半成型的VI。這個半成型的 VI會根據上一步選擇事件的不同而不同。主要是因為用到的參數不同,我們在這個基礎之上進行修改。

        有的回調VI需要用戶參數,有的則不需要。而本例中 我們用到的用戶參數就是 我們用到的字符串顯示控件Title的引用句柄。

        看一下 半成型的回調VI的不同。

        Titlechange回調VI是這樣的

        回調VIBeforeNavigate2.VI

        則是這樣的:





        存在著很大的不同吧!在這個基礎上 修改回調VI就相對比較簡單了。

        語言組織比較亂!我自己能懂。如有不同想法,大家一起留言探討。

        我們可以把這種思維用到 中斷程序處理中(例如 串口中斷),繼續探討。

        需要說明的是:在回調VI中,用戶參數一般都是 變體數據類型的。如果我們想改變回調參數的數據類型,在創建回調VI之前,連線用戶參數端子,如連線的是字符串引用句柄,則回調VI中的用戶參數為字符串型引用。

        我們之前創建的半成型的Titlechange回調VI就是這樣來的。



        關鍵詞: 事件回調中

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 安吉县| 兰坪| 瓮安县| 五峰| 讷河市| 德江县| 达日县| 永安市| 凤阳县| 永定县| 锡林郭勒盟| 安溪县| 名山县| 九寨沟县| 旺苍县| 微山县| 庄河市| 旬阳县| 屯昌县| 普兰店市| 赞皇县| 江陵县| 沽源县| 乌苏市| 宜良县| 香河县| 广宁县| 霸州市| 重庆市| 高阳县| 南康市| 安岳县| 华池县| 巴林右旗| 沙湾县| 平利县| 雅江县| 盈江县| 中江县| 大埔县| 宜昌市|