我在一個(gè)帖子里碰到這樣一個(gè)問題,在LabVIEW中取消一個(gè)已經(jīng)注冊事件或再次注冊事件呢?然后就有了這篇文章。
本文目錄
一、偽取消注冊和再次注冊
?????????????二、真取消注冊和再次注冊
三、需要安裝的軟件、工具包
四、共享代碼
一、偽取消注冊和再次注冊
我們先設(shè)計(jì)一個(gè)事件型生產(chǎn)消費(fèi)者,前面板和代碼如下圖:
我們可以看到通過條件結(jié)構(gòu)停止和開啟,我們實(shí)現(xiàn)了類似注冊數(shù)據(jù)和取消注冊數(shù)據(jù)功能,之所以說是偽功能,主要是數(shù)據(jù)還是通過動(dòng)態(tài)注冊事件傳遞過進(jìn)來了。
二、真取消注冊和再次注冊
下邊我們重新設(shè)計(jì)一個(gè)真的注冊個(gè)取消注冊結(jié)構(gòu),先觀察下注冊事件的注冊結(jié)構(gòu),在啟動(dòng)后將動(dòng)態(tài)用戶事件注冊為注冊事件數(shù)據(jù),然后注入到動(dòng)態(tài)用戶結(jié)構(gòu)中,如果我們改變這個(gè)事件注冊值,那么就改變了注冊的對象。
下邊來編碼:
1、波形顯示事件
2、停止和恢復(fù)波形
3、切換波形
4、運(yùn)行結(jié)果
以上結(jié)果可以得出結(jié)論:
1、我們可以通注冊事件重新注冊或取消注冊注冊事件,還可以切換同樣的類型的數(shù)據(jù)源實(shí)現(xiàn)數(shù)據(jù)通道切換,本范例只是驗(yàn)證一些可行性,權(quán)當(dāng)研究代碼的一點(diǎn)樂趣。
2、本文使用注冊事件實(shí)現(xiàn)了OOP中觀察者模式的部分功能,注冊和取消注冊,雖然是使用非OOP實(shí)現(xiàn)。
三、需要安裝的軟件、工具包和庫
1.LabVIEW2015中文版
審核編輯:湯梓紅
-
LabVIEW
+關(guān)注
關(guān)注
1957文章
3651瀏覽量
321418
原文標(biāo)題:LabVIEW的編程之道—事件注冊和取消注冊方法
文章出處:【微信號:LabVIEW的編程之道,微信公眾號:LabVIEW的編程之道】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論