2013-02-01 14 views
0

DOORS 8.3的「管理打開模塊」對話框列出了所有打開的模塊,它們的模式(如果可見)等以及引用的數量。我希望使用該引用計數來決定腳本是否可以安全地關閉模塊,並在目前正在使用時避免關閉。我不確定「參考」列顯示的是什麼。我沒有在互聯網上的幫助或相關信息中找到它的描述。有沒有人知道是否有一些未公開的DXL API讓我可以訪問這些信息?是否有DXL API來獲取已打開模塊的引用計數?

編輯:我發現函數refcount_,它返回一個整數。但我不知道什麼是回報價值。

回答

0

我假設你的腳本正在打開模塊,所以你只需要檢查它是否已經打開。

string sModuleFullName = "/Some/Module/Path" 
Module oModule = module(sModuleFullName) 
bool bClose = null(oModule) 
if(null(oModule)) { 
oModule = read(sModuleFullName, true,true) 
} 

// do stuff 

if(bClose) { 
close(oModule) 
} 

編輯: 由觸發器,屬性或佈局DXL

// Save currently open Modules to a Skip 
Skip oOpenModulesSkip = createString() 
Module oModule 
for oModule in database do { 
    put(oOpenModulesSkip, fullName(oModule), fullName(oModule)) 
} 

// do stuff 

// Close Modules not in the Skip 
for oModule in database do { 
    if(!find(oOpenModulesSkip, fullName(oModule))) { 
     close(oModule, false) 
    } 
} 
delete(oOpenModulesSkip) 
+0

這或多或少是我已經使用的方法。但我想有一個更好的方法來優化模塊的讀取和關閉。例如。由於佈局或屬性DXL,將隱含打開的模塊。我的腳本對這個模塊一無所知。 –

+0

直到今天,我沒有找到更好的解決方案。所以我接受它作爲答案。 –

1

它看起來像引用是指當前引用該模塊的開放模塊的數量。例如:當您打開一個具有鏈接的模塊時,DOORS也會在後臺打開鏈接所使用的所有鏈接模塊。所以如果我打開一個鏈接了LINKMOD_A的文檔,LINKMOD_A將顯示1個引用。如果我然後打開另一個鏈接通過相同的LINKMOD_A的文檔,引用的數量將增加到2.我沒有看到正式模塊上引用的數量高於1。在你的一些模塊上試試這個,看看你在鏈接模塊上獲得多個引用時,然後針對該鏈接模塊運行你的refcount_函數,看看你是否得到相同的數字。我不確定這是否是您正在尋找的功能,但它肯定是可行的。祝你好運!

+0

讀打開關閉模塊替代方法,你的回答讓我認爲,這種「參考」信息是我不是東西尋找。但謝謝你的回答。 –

相關問題