我正在編寫一些DXL以用作DXL列,以便爲模塊中的每個對象查看in-links並返回鏈接名稱。然後,如果鏈接名稱以「verif」開頭,它將從鏈接模塊中的屬性「TestResultFloating」中獲取對象文本,並將其顯示在當前模塊的DXL列中。如果模塊中不存在屬性,DXL將忽略該錯誤
當我在整個數據庫上使用它(當前我只是使用一個沙箱)時,我會遇到的問題是,通過「驗證」鏈接模塊鏈接的某些模塊將不包含「TestResultFloating」屬性。對於這些我想壓迫'未知的對象屬性(TestResultFloating)'錯誤,而是在當前模塊中顯示類似N/A的對象。
下面是我的代碼,當前工作只要「鏈接模塊中存在」TestResultFloating「屬性,但是如果屬性不存在則會拋出錯誤。
ModName_ mSrc
Object o = current
Object nObject
Object oSrc, oDest
LinkRef lr = null
Link l = null
string linkname = ""
string attrbName = "TestResultFloating"
for mSrc in (obj <- "*") do {
if (!open(mSrc)) {
read(fullName(mSrc), true)
}
}
for l in (obj <- "*") do {
oSrc = source(l)
linkname = name(module(l))
string linkmodname = upper(linkname[0:4])
if(linkmodname == "VERIF") {
string objText = oSrc."TestResultFloating"
display(objText)
}
}
我試着這樣做這是我從DXL參考手冊,這是檢查屬性是否存在得到的一種方式,然後做了手術。這是我加什麼,但它似乎沒有工作,我仍然得到同樣的錯誤「不明物體屬性(TestResultFloating)」 我試了一下如下:
if(linkmodname == "VERIF") {
if(exists attribute "TestResultFloating"){
string objText = oSrc."TestResultFloating"
display(objText)
}
else {
display("N/A")
}
}
還請注意,我對於DOORS和DXL來說很新穎,所以如果我正在做一些大錯特錯的事情,或者我正在問一個簡單的問題,請原諒我。
我在這種情況下使用它?我以前沒有使用過這些功能。是否會像設置一個字符串= probeAttr_(obj,「TestResultFloating」),然後檢查字符串是否爲空? – Gurn64
是的,完全像這樣。 – Mike