Mxs:未在范围内定义转出控制值(文件输入)
Mxs: Rollout control value not defined in scope (filein)
我正在尝试从嵌套函数(我使用 filein() 命令调用的函数)内部访问转出控件(复选框、微调器等)的 state/value,但是我不断收到错误消息rolout 控件未定义。
我写了一些简单的代码来演示这个问题:
1) 使用filein命令输入文件的主脚本:
Rollout exporter "Simple Exporter" width:300 height:610 (
button btn_do_stuff "Do stuff" pos:[18,14] width:116 height:60
checkbox some_option "some_option" pos:[18,100] width:116 height:60
on btn_do_stuff pressed do(
filein "printstuff.ms"
)
)
createdialog exporter
2) 使用 filein() 命令导入的脚本文件:
if some_option.checked == true then(
messagebox "some_option.checked == true"
)else(
"some_option.checked == false"
)
3) 错误信息:
-- Unknown property: "checked" in undefined <<
错误发生在正在使用 filein 导入的脚本文件的第一行:
以下行出现错误:
if some_option.checked == true then(
任何帮助将不胜感激,谢谢!
Filein
在全局范围内进行评估,它只能访问全局变量,不能访问您尝试访问的局部变量。也就是说,这里的解决方案很简单,因为 rollout 本身似乎是在全局范围内声明的——而不是 some_option.checked
使用 exporter.some_option.checked
.
我正在尝试从嵌套函数(我使用 filein() 命令调用的函数)内部访问转出控件(复选框、微调器等)的 state/value,但是我不断收到错误消息rolout 控件未定义。
我写了一些简单的代码来演示这个问题:
1) 使用filein命令输入文件的主脚本:
Rollout exporter "Simple Exporter" width:300 height:610 (
button btn_do_stuff "Do stuff" pos:[18,14] width:116 height:60
checkbox some_option "some_option" pos:[18,100] width:116 height:60
on btn_do_stuff pressed do(
filein "printstuff.ms"
)
)
createdialog exporter
2) 使用 filein() 命令导入的脚本文件:
if some_option.checked == true then(
messagebox "some_option.checked == true"
)else(
"some_option.checked == false"
)
3) 错误信息:
-- Unknown property: "checked" in undefined <<
错误发生在正在使用 filein 导入的脚本文件的第一行: 以下行出现错误:
if some_option.checked == true then(
任何帮助将不胜感激,谢谢!
Filein
在全局范围内进行评估,它只能访问全局变量,不能访问您尝试访问的局部变量。也就是说,这里的解决方案很简单,因为 rollout 本身似乎是在全局范围内声明的——而不是 some_option.checked
使用 exporter.some_option.checked
.