DOORS 8.3的「管理打開模塊」對話框列出了所有打開的模塊,它們的模式(如果可見)等以及引用的數量。我希望使用該引用計數來決定腳本是否可以安全地關閉模塊,並在目前正在使用時避免關閉。我不確定「參考」列顯示的是什麼。我沒有在互聯網上的幫助或相關信息中找到它的描述。有沒有人知道是否有一些未公開的DXL API讓我可以訪問這些信息?是否有DXL API來獲取已打開模塊的引用計數?
編輯:我發現函數refcount_
,它返回一個整數。但我不知道什麼是回報價值。
DOORS 8.3的「管理打開模塊」對話框列出了所有打開的模塊,它們的模式(如果可見)等以及引用的數量。我希望使用該引用計數來決定腳本是否可以安全地關閉模塊,並在目前正在使用時避免關閉。我不確定「參考」列顯示的是什麼。我沒有在互聯網上的幫助或相關信息中找到它的描述。有沒有人知道是否有一些未公開的DXL API讓我可以訪問這些信息?是否有DXL API來獲取已打開模塊的引用計數?
編輯:我發現函數refcount_
,它返回一個整數。但我不知道什麼是回報價值。
我假設你的腳本正在打開模塊,所以你只需要檢查它是否已經打開。
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)
它看起來像引用是指當前引用該模塊的開放模塊的數量。例如:當您打開一個具有鏈接的模塊時,DOORS也會在後臺打開鏈接所使用的所有鏈接模塊。所以如果我打開一個鏈接了LINKMOD_A的文檔,LINKMOD_A將顯示1個引用。如果我然後打開另一個鏈接通過相同的LINKMOD_A的文檔,引用的數量將增加到2.我沒有看到正式模塊上引用的數量高於1。在你的一些模塊上試試這個,看看你在鏈接模塊上獲得多個引用時,然後針對該鏈接模塊運行你的refcount_
函數,看看你是否得到相同的數字。我不確定這是否是您正在尋找的功能,但它肯定是可行的。祝你好運!
讀打開關閉模塊替代方法,你的回答讓我認爲,這種「參考」信息是我不是東西尋找。但謝謝你的回答。 –
這或多或少是我已經使用的方法。但我想有一個更好的方法來優化模塊的讀取和關閉。例如。由於佈局或屬性DXL,將隱含打開的模塊。我的腳本對這個模塊一無所知。 –
直到今天,我沒有找到更好的解決方案。所以我接受它作爲答案。 –