Я хочу подсчитать все входящие ссылки всех объектов во всех модулях в проекте IBM Doors. (с DXL)
Вот как я это сделал (в основном я вызываю функцию goThroughFolders(current Folder)):
Пройдитесь по каждой папке в проекте и проверьте, есть ли модули если есть модули вызовите функцию "checkLinks(Module m)"
void goThroughFolders(Folder f) { Item itm if (null f) return for itm in f do{ print("\nScanning folder...") if (null itm) continue if (isDeleted(itm)) continue else if ((type (itm) == "Project") || (type (itm) == "Folder")) { goThroughFolders(folder(itm)) } else if (type (itm) == "Formal") { print("\nFound Module") checkLinks(module(itm)) } } }
Проверить модули на наличие ссылок
void checkLinks(Module m) { string objType = "" Object o = null Link anyLink for o in m do { objType = o."Object Type" "" // Check if the type is right if ( ( objType == "Req" ) || ( objType == "Obj" ) ) { // Check for any outlinks at all for anyLink in o <- "*" do{ LinkCount++ }
} } }
Итак, моя проблема заключается в том, что вызов функции checkLinks(module(itm))
в goThroughFolders(Folder f)
, похоже, передает объект null
.
Error:
-R-E- DXL: <Line:11> null Module do loop parameter was passed
Backtrace:
<Line:69>
<Line:78>
-I- DXL: execution halted
Но я не знаю, почему? Можете вы помочь мне?