呼叫子程式視窗 但主程式試窗卻不能操作

dee1.vi dee.vi

主程式執行時它會跳出子程式視窗。但是子程式視窗跳出時,我主程式的試窗反而無法使用了?? 就按alt+tab也只秀出子程式試窗,主程式視窗就不見了。

點選主程式裡的subvi的sespend when called雖然能達到我要的效果(不過子程式好像怪怪的),讓主程式及子視窗同使用,但是關閉子程式時卻無法自動關閉。

不知道這問題要如何應該要怎麼設定才能讓子程式跟主程式的視窗能同時使用,且當我按子程式視窗的停止鈕來結束子程式時,子程式視窗就會消失。

麻煩各位大大的幫忙了。謝謝。

一、您主程式while Loop用法不太對,構架上還有許多地方可再進精、編修,以下使用簡易event structure結構撰寫,請將main.vi、dee-fix.vi放在同一目錄下執行,即可達到您要的功能。

二、程式作動如下:

  • mail.vi:按下「OK」開啟dee-fix.vi子程式,同時指示燈亮起「SubVI_Open_OK」,預設2秒後指示燈熄減
  • mai.vi:按下「STOP」停止程式執行(非關閉vi)
  • dee-fix.vi:程式碼稍作修改,改由亂數產生並顯示,按下「STOP」關閉整個vi
參考
main.vi
dee-fix.viLotun12341432.8394907407

不好意思,能否幫忙降轉成2010?

我用這網站上的上傳檔案降轉,好像不能轉。

您的主程式用法應該能讓我學到很多。

附件已轉為2010版,參考

 main.vi
dee-fix.vi

謝謝大大,您的程式我拜讀之後已經吸收了。

原來用invoke node可以做到這麼多。

這樣我對子程式視窗運用就更瞭解了,謝謝大大的教學。

另外請問大大一下,select vi這個功用主要是用在甚麼?把東西丟給子程式讓它運算後再丟值出來嗎? 我目前都只這樣使用select vi而已。

  1. 如果寫程式一開始有建立project,那Select vi的動作和在Project內直接把vi拉進block diagram的意思是一樣的,通常用在匯入SubVI
  2. 當程式功能愈複雜,使用SubVI的次數即愈頻繁,好處能使程式簡潔乾淨、易維護、好擴充
  3. 附件為Select vi及Project拉進vi影片,參考
Select_vs_Project_vi.mp4