我有一個主要程式,要call其他程式,且需轉成執行檔後執行,我目前的使用方法就只有利用"System Exec"去call,但缺點是會需要很多的執行檔,且不需程式執行call的動作亦可開啟檔案。請問~是否有其他方式可以call其他檔案且限定只能利用程式開啟,無法直接由一般點選開啟呢?
用子VI的方式,只能用程式呼叫
但是我需要轉執行檔,而且希望是分屬於不同的檔案。
概念大概是~我設定一個主架構後,我只要更新某些檔案(之前是執行檔),主架構不需變動,即可使用新的功能之類的。
只要原始程式在,你改變子程式,將主程式重新轉為執行檔,一樣會達成你要的主架構不需變動,即可使用新的功能.
如果子程式不要給別的主程式使用,把主程式及多個子程式結合成LLB檔,方便修改.

抱歉~說得不太清楚...其實我也不太知道該怎麼問才會比較好...
會有一個主要的程式main,我原本是使用它來呼叫其他的執行檔A.exe B.exe C.exe,達到呼叫的功能,但缺點是我也可以直接透過該執行檔的位置去執行(我也不希望使用隱藏的方式執行),不知各位前輩是否有其他方式可以達到該功能,且無法讓使用者可以直接執行欲呼叫的檔案?
但缺點是我也可以直接透過該執行檔的位置去執行(我也不希望使用隱藏的方式執行),不知各位前輩是否有其他方式可以達到該功能,且無法讓使用者可以直接執行欲呼叫的檔案?
單純就以上這個觀點的話,
只要在MAIN.VI執行的時候額外寫入全域變數一個值,
開啟子程式的時候判斷該值是否正常寫入,
只有透過主程式進入子程式才能夠正常進入,
直接進入子程式會因為無判斷值而直接結束子程式即可。
只有注意一點,就是必須正常結束程式,且結束前清空判斷值,
即避免使用者會因為不正常結束程式,造成變數可能短暫存在,而可以直接呼叫副程式。
以上方式應該可以達成你的需求
我不知道8.5版是否可撰寫下面的程式,我要轉8.5版有錯誤訊息無法轉.
下面程式轉成執行檔後,執行有隨時呼叫或關閉A,,B,C程式,至於A,B,C程式自己可以關閉自己嗎?可由各子vi編輯,A程式可關閉自己,B程式不可關閉自己可改視窗,c程式不可關閉自己不可改視窗,你參考看看


感謝caeru大的建議及DonWang大的熱心協助!!
我之前有試過建立一個執行檔和一個不能開啟的llb檔,可是缺點就是那個llb檔的內容不能有太大的變更,否則就無法執行檔案,請問有類似的方法嗎??能有讓我的檔案只有兩個,然後我往後若需更新就只要更新一個llb檔案的方式嗎?有點類似放一個資料庫在旁邊,主要的介面不更改,就可以改內部的模組。
依你的需求只需,將子VI存於user.lib目錄內,每次想改內部的模組就改子VI再將主程式重新轉執行檔,就可以了.
修改子VI可直接用開啟舊檔的方式或由主程式VI點兩下進入,修改後存檔.
若子VI要另存新檔名,則必須主程式VI保持開啟狀態下修改,主程式中的子VI的檔名也會自動修改,llb內的子VI也是一樣,你所說的變動太大無法執行,我猜應該是這一步驟上出了問題.





DonWang40389.7884837963
感謝各位前輩的大力相助~謝謝你們^^