當你寫完程式,並編譯為EXE之後,
你會發現執行Launch VI之後,什麼也沒發生!
不論是第一個被運行起來的Root Actor,
或是被呼叫的Nested Actor們,
每一個Actor Core.vi的Front panel都沒有打開,所以沒有UI可以操作!
你可能覺得,疑? 我不是在Launch Root Actor的時候,
把「Open Actor Core Front Panel?」選項設定為True了嗎?
怎麼沒打開?
答案是:
「Open Actor Core Front Panel?」這選項只能在「開發環境」使用!
不適用於Run Time Engine環境!
因為所有的Actor的Actor Core.vi都是被動態呼叫的,
LabVIEW編譯器預設會認為它只是一個在背景執行的thread,所以會把它的Front Panel移除。
那要怎麼辦?
根據官方討論區某位大神所說~
比較簡單的解法如下:
(1)使用Launch Root Actor呼叫Actor時,
把「Open Actor Core Front Panel?」選項設定為False(也就是預設值)
(2)在被呼叫的這個Actor Core.vi內部,
隨便創建一個按鈕的property node,選擇"visible"屬性,並change to read。
這樣就可以告訴LabVIEW的編譯器,我需要這個Actor core.vi的前面板了!
神奇吧~~~~
這個操作完全不在AF的白皮書內! 太坑人了!
[參考資料]
1. 「Actor Framework EXE Application Runtime Error」
留言列表