LabVIEW從零開始-50-LabVIEW_升級QMH

我的結(jié)論:隊列和控件的功能性全局變量使用方式不同,隊列這類相當(dāng)于臨時指針,流程為Write-Read-Write-Read...,控件類的指針不會改變可以隨意Write-Read。
如有不對的地方,還請各位指正。
下述vi名稱說明
QueueClear為視頻中QueueQuit
QueueExit為視頻中QueueRelease
1 QueueInitial中后續(xù)的隊列句柄不能采用QueueReference的隊列句柄,對應(yīng)17顯示非法路徑,見圖3。

圖1 QueueInitial.vi

圖2 QueueReference.vi

圖3 QueueInitial.vi運(yùn)行后斷點(diǎn)時探針
2 QueueClear能正常讀出1中QueueInitial寫入的隊列句柄。

圖4 QueueClear.vi

圖5 圖4中22斷點(diǎn)后探針
3 在2對QueueReference進(jìn)行Read操作后,如果不進(jìn)行Write操作,則圖5中11與17均為非法引用句柄,即圖6退出時QueueExit不能找到對應(yīng)的隊列進(jìn)行銷毀,最終程序出錯。

圖6 QueueExit.vi
解釋1

解釋2
陳樹學(xué)的LabVIEW寶典中6.5節(jié)P196。
標(biāo)簽: