讀入兩個同樣檔名的VIs會造成問題發生



主要軟體: LabVIEW Development Systems>>Full Development System
主要軟體版本: 7.1
主要軟體修正版本:
次要軟體: N/A

問題: 我讀入兩個不同實體但擁有相同檔名的VI。我會遇到錯誤連結或無法正確執行。

解答: LabVIEW是根據VI的名稱來配置記憶體空間。因此如果你試圖讀入兩個相同檔名的VI,會造成LabVIEW無法分辨它們的不同。

例如,你有兩個VI分別叫做main1.vi 及 main2.vi。它們同時呼叫不同實體但都叫做SubVI.vi,當您要打開這兩個主VI時就會發生下面的情況:


  1. 當您打開main1.vi時,它會被讀入記憶體。由於SubVI.vi有被main1.vi呼叫,所以subVI.vi也會同時被讀入記憶體。

  2. 當您要打開main2.vi時,它也會被讀入記憶體。這時候linker會通知LabVIEW讀入SubVI.vi。不過應用程式會認為SubVI.vi已存在在記憶體中並且試圖將該SubVI.vi與main2.vi連結。如果這兩個subVI連線腳位(connector pane)完全相同,可能就會造成連結成功(但是程式反應可能會非常奇怪)。如果連線腳位(connector pane)不同,您將會得到連結錯誤的訊息。




相關連結: KnowledgeBase 0HTFEMTA: How Do I Replace a SubVI with Another VI that has the Same Name?

附加檔案:





報告日期: 08/24/2000
最後更新: 02/26/2006
文件偏號: 20NF09LJ