在LabVIEW中使用事件的說明與建議
由于LabVIEW是一個(gè)圖形化編程界面,因此其事件處理和其它編程語言中的事件處理有所不同。下文列出了在LabVIEW應(yīng)用程序中使用事件的說明和建議。避免在循環(huán)外使用事件結(jié)構(gòu)。記得在“值改變”事件分支中讀取觸發(fā)布爾控件的接線端。條件結(jié)構(gòu)用于處理觸發(fā)布爾控件的撤消操作。將一個(gè)條件分支配置為處理多個(gè)通知事件的操作時(shí),使用警告信息。不要使用不同的事件數(shù)據(jù)將一個(gè)分支配置為處理多個(gè)過濾事件。如含有事件結(jié)構(gòu)的While循環(huán)基于一個(gè)觸發(fā)停止的布爾控件的值而終止,則記得在事件結(jié)構(gòu)中處理該觸發(fā)停止布爾控件。如無需通過程序監(jiān)視特定的前面板對(duì)象,考慮使用“等待前面板活動(dòng)”函數(shù)。用戶界面事件僅適用于直接的用戶交互。避免在一個(gè)事件分支中同時(shí)使用對(duì)話框和“鼠標(biāo)按下?”過濾事件。避免在一個(gè)循環(huán)中放置兩個(gè)事件結(jié)構(gòu)。使用動(dòng)態(tài)注冊(cè)時(shí),確保每個(gè)事件結(jié)構(gòu)均有一個(gè)“注冊(cè)事件”函數(shù)。使用子面板控件時(shí),含有該子面板控件的頂層VI將處理事件。如需在處理當(dāng)前事件的同時(shí)生成或處理其它事件,考慮使用事件回調(diào)注冊(cè)函數(shù)。請(qǐng)謹(jǐn)慎選擇通知或過濾事件。用于處理通知事件的事件分支,并將無法影響LabVIEW處理用戶交互的方式。如要修改LabVIEW是否處理用戶交互,或LabVIEW怎樣處理用戶交互,可使用過濾事件。不要將前面板關(guān)閉通知事件用于重要的關(guān)閉代碼中,除非事先已采取措施確保前面板關(guān)閉時(shí)VI不中止。例如,用戶關(guān)閉前面板之前,確保應(yīng)用程序打開對(duì)該VI的引用。或者,可使用前面板關(guān)閉?過濾事件,該事件在面板關(guān)閉前發(fā)生。