當你寫完程式,並編譯為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(也就是預設值)

LAUNCH.png

(2)在被呼叫的這個Actor Core.vi內部,

隨便創建一個按鈕的property node,選擇"visible"屬性,並change to read。

這樣就可以告訴LabVIEW的編譯器,我需要這個Actor core.vi的前面板了!

神奇吧~~~~

 

這個操作完全不在AF的白皮書內! 太坑人了!

 

 

[參考資料]

1. 「Actor Framework EXE Application Runtime Error

 

arrow
arrow
    全站熱搜

    sky 發表在 痞客邦 留言(0) 人氣()