數(shù)據(jù)傳輸進(jìn)程子面板
四.
程序編程完畢進(jìn)行測(cè)試的時(shí)候其實(shí)遇到了很多問(wèn)題,讓人很郁悶,后來(lái)慢慢滴調(diào)試修改,最終還是解決了這些問(wèn)題,程序運(yùn)行也得到了一個(gè)滿意的答案,下面先給出程序運(yùn)行的效果吧
A.局域網(wǎng)傳輸系統(tǒng)服務(wù)器主界面:包含已發(fā)送信息瀏覽,文件路徑選擇,端口號(hào)設(shè)置等,并可以通過(guò)開(kāi)始按鈕開(kāi)始傳輸;
B.傳輸程序時(shí)主界面運(yùn)行效果,彈出子面板顯示實(shí)時(shí)信息;
C.下兩個(gè)圖為傳輸某兩個(gè)文件夾時(shí)的進(jìn)程子面板的效果圖。
傳輸效果雖然不錯(cuò),但在路上卻遇到了很多問(wèn)題,下面就將這些小問(wèn)題一一說(shuō)明。
(1)主界面上銀色多列列表框在開(kāi)始的時(shí)候總是只能顯示第一列的內(nèi)容,雖然通過(guò)項(xiàng)名的屬性節(jié)點(diǎn)添加了好幾項(xiàng)內(nèi)容,但始終只顯示第一項(xiàng),最后我通過(guò)在第一列右擊選擇在前面插入列的方式生成了足夠的列,然后又將曾經(jīng)的第二列及以后的列全部推到了后面隱藏起來(lái),這才解決了這個(gè)問(wèn)題,原因我不曉得,更不明白NI這是何意。當(dāng)然其實(shí)也可以通過(guò)其他形式的多列列表框來(lái)實(shí)現(xiàn)就不會(huì)這樣子了;
(2)多列列表框想要在某一列的某個(gè)單元格加入符號(hào),為什么都加到了第一列去,有沒(méi)有人知道這是為什么,有沒(méi)有辦法加到后面的列;
(3)一開(kāi)始的時(shí)候程序?qū)?shù)據(jù)傳輸完畢后總是無(wú)法停止運(yùn)行,而且也沒(méi)有關(guān)閉子vi,我覺(jué)得是子Vi循環(huán)的問(wèn)題,但是好像問(wèn)題也不大,判斷條件也是對(duì)的,最后沒(méi)辦法自己隨便試的,然后在隊(duì)列發(fā)送數(shù)據(jù)給子Vi的循環(huán)中加了一個(gè)順序結(jié)構(gòu),如下圖所示
也就是先讓子Vi接收數(shù)據(jù)并運(yùn)行完畢,然后判斷該循環(huán)是否終止,然后程序就好了,有沒(méi)有人能解釋一下具體的原理,我自己想可能是不加順序的時(shí)候該循環(huán)運(yùn)行狀態(tài)和子Vi運(yùn)行狀態(tài)想出現(xiàn)了矛盾的地方,具體也說(shuō)不清楚;
(4)xy圖是個(gè)比較蛋疼的東西,它無(wú)法保存先前顯示的數(shù)據(jù),我本來(lái)想只要通過(guò)一個(gè)循環(huán)加移位寄存器就可以將xy圖每次顯示后將先前的狀態(tài)保持下來(lái),這樣每次傳進(jìn)來(lái)一個(gè)點(diǎn)的數(shù)據(jù)在后面接著顯示豈不完美,結(jié)果運(yùn)行的時(shí)候圖表一片空白,原來(lái)它只是每次都你傳進(jìn)來(lái)的數(shù)據(jù)重新刷新顯示一邊,所以最后不得不采用數(shù)組的形式,每次把刷新的數(shù)組值給xy圖讓它不停滴重新繪圖;
(5)最后來(lái)說(shuō)一下,對(duì)于這種實(shí)時(shí)更新的子Vi,如果你要通過(guò)隊(duì)列的方式將數(shù)據(jù)在主Vi中傳遞給子Vi的數(shù)據(jù)輸入端,子Vi是萬(wàn)萬(wàn)不要加總體的循環(huán)的,尤其是while循環(huán),因?yàn)橹鞒绦蜻M(jìn)入子Vi后會(huì)在子Vi運(yùn)行完畢后才再次回到主程序,這就可能造成子Vi進(jìn)入循環(huán),程序就停在子Vi出不來(lái)了,所以做程序的時(shí)候?qū)τ谛盘?hào)和數(shù)據(jù)流通傳輸過(guò)程要很有數(shù)才好。
五.
評(píng)論