LabVIEW專案衝突解決方式
LabVIEW解決專案衝突
專案中可包含與專案中其它項有衝突的項。如LabVIEW專案中同一終端下有兩個或兩個以上項重名,就會發生可能的交叉連結,從而產生衝突。例如,當VI從另一個路徑呼叫一個與專案中已有項同名的子VI時,將發生交叉連結的衝突。大多數衝突都存在,因為專案中的項都引用了該導致衝突的項。
查詢衝突項
確定是否存在交叉連結的最佳方式是檢視專案項的完整路徑。右鍵單擊專案根目錄,從快捷選單中選擇檢視»完整路徑,顯示路徑欄,檢視專案項對應的檔案路徑。必須將所有具有相同合法名稱的項從專案中刪除,或僅保留一個具有該合法名稱的項。
也可從專案選單中選擇專案»解決衝突開啟該對話方塊,或右鍵單擊一個衝突項並從快捷選單中選擇解決衝突。
右鍵單擊項頁上的一個衝突項,選擇查詢»衝突,從而在查詢衝突對話方塊中檢視所有衝突項。如衝突項僅與一個項衝突,則LabVIEW將在專案瀏覽器視窗高亮顯示該項。也可使用查詢:衝突屬性通過程式設計查詢專案中的衝突。
注: 在專案瀏覽器視窗中,任何導致衝突的項的旁邊都有一個黃色的三角形警告符號。
當載入一個與LabVIEW專案中的項有衝突的檔案時,將出現專案的層次結構衝突對話方塊。由於LabVIEW中的項在其層次結構中與專案或依賴關係中的項具有相同的合法名稱,故無法開啟該衝突檔案。如專案中有依賴關係的項與另一個專案項發生衝突,則將引用了該項的各項刪除後,該項也不再出現在依賴關係下。
開啟VI的程式框圖和新增新的子VI時,LabVIEW還將搜尋VI層次結構。如子VI的層次結構中存在任何成員具有相同的合法名稱,但路徑與專案中的項不同,則該子VI無法載入。此時出現新增至專案並更新依賴關係對話方塊。可再次新增層次結構,也可取消載入並選擇另一個子VI。
注: 刪除專案中有衝突的子VI並不一定解決衝突,因為專案中的其它項仍可能在引用該導致衝突的子VI。該項將作為一個衝突項出現,直到所有呼叫了該衝突項的呼叫方全部從專案中刪除。將具有呼叫方的項從專案中刪除後,該項將被移至依賴關係。
重新命名衝突項
如不想刪除衝突項,且通過檢視得知該項與專案中的另一項具有相同的合法名,則可重新命名該衝突項或將其新增到一個專案庫。
對項進行重新命名時,將載入引用了錯誤的專案路徑的呼叫方,重新命名該項,最後儲存項及其所有呼叫方。呼叫方將引用新的名稱。如不儲存呼叫方,則原來的項仍將出現在依賴關係下,因為呼叫方仍在呼叫原來的項。
對於專案庫中的VI,LabVIEW將通過專案庫名稱確保VI名稱的合法性,以避免交叉連結。合法的名稱包括檔名以及所屬專案庫檔名的合法名稱。合法名稱的修改無需改變路徑或檔名。
如記憶體中的LabVIEW專案庫與另一個專案項衝突,則載入前必須將其中至少一個項重新命名。右鍵單擊該庫,從快捷選單中選擇解除安裝。LabVIEW解除安裝該庫後,可從當前路徑重新載入該庫和VI。如庫與其它專案項衝突,但度未在記憶體中儲存,可右鍵單擊庫並從快捷選單中選擇載入。LabVIEW載入該庫後,可編輯該庫和庫中的內容,並從正確的路徑載入VI。
重定位衝突項
當兩個以上項具有相同的合法名,且磁碟上僅存在一個項,則可右鍵單擊衝突項並從快捷選單中選擇替換為專案所找到的項。LabVIEW將更新錯誤項的呼叫方,使之引用在磁碟上查詢到的那個項。
注: 如項是一個專案庫或專案庫中的一個成員,則LabVIEW將替換為專案所找到的項和替換為灰暗顯示。
查詢丟失項
如一個或多個引用了LabVIEW無法找到的項,右鍵單擊專案根目錄並從快捷選單中選擇查詢丟失項。開啟查詢丟失項對話方塊。該對話方塊中列出了專案中的所有引用了LabVIEW無法找到項的專案項。當一個專案中的項與一個專案外的項存在依賴關係時,專案外的項將出現在依賴關係中。