跨终端执行任务


更多信息请参阅 getCurrentScriptable


如何使用

简介:

在这个案例里,我们演示怎么用 getCurrentScriptable() 拿到当前回调函数对应的 Scriptable 实例,并在不同终端之间共享和操作它。这样可以保证回调函数在正确的环境里运行,不会出现变量取不到、函数失效或者退出码无法获取的问题。适用于多终端协作、跨脚本调试或多任务数据共享场景。

运行前:

  1. 下载并安装 Total Control 11.0(Update 20)及以上版本(下载
  2. 打开两个脚本终端:
    • 主面板 → 脚本 → 脚本终端 → Terminal 1
    • 主面板 → 脚本 → 脚本终端 → Terminal 2


源代码

Terminal 1:保存当前 Scriptable,并写入共享变量

>> _shared.x = getCurrentScriptable()
[ModuleScope FileRepository[C:\Program Files\Sigma-RT\Total Control\]]

>> exit(400)

>> aaa = "Hello"
Hello

>> add = (a,b)=>a+b;

Terminal 2:读取共享 Scriptable,并访问其上下文数据

>> _shared.x
[ModuleScope FileRepository[C:\Program Files\Sigma-RT\Total Control\]]

>> _shared.x.getExitCode()
400

>> _shared.x.aaa
Hello

>> _shared.x.add(300, 400)
700
700

运行结果(Terminal 1)

将 getCurrentScriptable() 返回的 Scriptable 实例保存到 _shared.x

运行结果(Terminal 2)

通过 _shared.x 成功访问到同一执行上下文中的:

  • getExitCode() → 400
  • 变量 aaa → "Hello"
  • 函数 add(300, 400) → 700

TCHelp