我正在尝试从嵌套函数(我使用 filein(( 命令调用的函数(内部访问卷展栏控件(复选框、微调器等(的状态/值,但是我不断收到错误,指出 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
全局范围内进行评估,它只能访问全局变量,而不能访问您尝试访问的局部变量。也就是说,这里的解决方案很简单,因为推出本身似乎是在全球范围内声明的——而不是some_option.checked
使用exporter.some_option.checked
。