0

我正在尝试从嵌套函数(我使用 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(

任何帮助将不胜感激,谢谢!

4

1 回答 1

0

Filein在全局范围内进行评估,它只能访问全局变量,而不是您尝试访问的本地变量。也就是说,这里的解决方案很简单,因为 rollout 本身似乎是在全局范围内声明的——而不是some_option.checkeduse exporter.some_option.checked

于 2017-08-26T07:02:32.080 回答