如何用DXL在IBM DOORS中显示链接目标模块名称?代码报错求解
问题解决:IBM DOORS DXL获取链接目标模块名称报错
错误原因分析
- DXL语言中不存在
ModuleRef数据类型,该自定义类型直接导致变量未声明及令牌连接错误。 - 不存在
moduleName()函数,获取模块名称需使用DXL原生的name()或fullName()函数。 target(l)返回的是链接指向的目标对象(Object),而非自定义的ModuleRef类型,类型不匹配引发错误。
修正后的代码
Object o Link l Module mTarget string nomModule Module m = current for o in m do { for l in o -> "*" do { Object oTarget = target(l) if (!null oTarget) { mTarget = module(oTarget) nomModule = name(mTarget) // 如需完整路径,替换为fullName(mTarget) print "目标模块名称:" nomModule "\n" } } }
关键修正点
- 替换错误的
ModuleRef类型为DXL原生的Object和Module类型,匹配target()函数的返回值。 - 通过
module(oTarget)从目标对象中获取所属模块。 - 使用
name()获取模块短名称,fullName()可获取包含路径的完整模块名称。 - 修正所有变量声明,确保符合DXL语法规范。
内容的提问来源于stack exchange,提问作者Baptiste
相关产品推荐
相关产品推荐

