You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IBM DOORS 9.6中无法执行DXL脚本求助

解决IBM DOORS 9.6 DXL菜单插件无法运行的问题

代码核心修复

你的示例代码存在语法错误,是导致脚本无效的直接原因:

  • 字符串换行不符合DXL语法:print语句中直接换行的字符串会被解析为语法错误,需用转义字符\n替代硬换行。

修正后的动作函数代码:

void loginAction(Menu m) {
    print "Login action triggered\n"
}

void pushAction(Menu m) {
    print "Push action triggered\n"
}

void pullAction(Menu m) {
    print "Pull action triggered\n"
}

额外排查要点

  • 运行脚本后,务必打开Tools > DXL Console查看输出:所有print内容和隐性报错都会在这里显示,是排查DXL问题的核心入口。
  • 确保当前有DOORS模块处于打开状态:addMenu()等UI操作需要依赖模块上下文,无模块时可能无法触发菜单加载。
  • 验证账号权限:受限账号可能无法修改DOORS主菜单,需使用拥有开发权限的账号运行脚本。

完整可运行代码

// Define a new menu
Menu eCollabMenu = menu("eCollab")

// Define actions for each menu item
void loginAction(Menu m) {
    print "Login action triggered\n"
}

void pushAction(Menu m) {
    print "Push action triggered\n"
}

void pullAction(Menu m) {
    print "Pull action triggered\n"
}

// Create menu items and assign actions
MenuItem miLogin = menuItem("Login", loginAction)
MenuItem miPush = menuItem("Push", pushAction)
MenuItem miPull = menuItem("Pull", pullAction)

// Add items to the menu
add(eCollabMenu, miLogin)
add(eCollabMenu, miPush)
add(eCollabMenu, miPull)

// Attach the menu to the main menu bar
addMenu(eCollabMenu)

内容的提问来源于stack exchange,提问作者Pueblo2708

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 20:52:48