LabVIEW——關(guān)于事件結(jié)構(gòu)的使用
之后就不敢用了,很多可以用事件結(jié)構(gòu)的地方都只用CASE結(jié)構(gòu)麻煩的代替了~~
本文引用地址:http://m.butianyuan.cn/article/201701/337072.htm今天被師兄那么一指點,覺得完全是委屈了事件結(jié)構(gòu)啊,之前事件結(jié)構(gòu)引起的問題可以很容易的解決。
方法就是設(shè)置“超時”(之前一直覺得這個東西沒用的):
一般情況下,事件結(jié)構(gòu)是會和while循環(huán)套用的,通過不斷的循環(huán)來執(zhí)行不同事件源激發(fā)的事件,但如果不設(shè)置超時,也沒有事件源發(fā)生,那么while循環(huán)將一直等待事件的發(fā)生而不進行循環(huán),這樣就會使得事件結(jié)構(gòu)外的其他程序也不能執(zhí)行,可能造成的結(jié)果就是前面板本該有反應(yīng)的地方(比如變量值的變化)沒有了反應(yīng)。
而如果設(shè)置了超時,比如設(shè)置為100(ms),意思就是每隔100ms如果沒有事件發(fā)生就超時,進行一次循環(huán),那么事件結(jié)構(gòu)外的其他程序也就得到了執(zhí)行。
總結(jié)一下:
如果事件結(jié)構(gòu)在while循環(huán)中,而事件結(jié)構(gòu)之外又有其他的程序需要執(zhí)行(可能不依賴于事件的發(fā)生),那么就應(yīng)該設(shè)置超時。(可能還是很抽象哈,等你遇到了你就會明白一些的~~)
評論