我想从flash文件中设置一个变量,以便我可以从命令中的JSFL访问。
我在JSFL的XMLUI中使用了一个元素: 这是JSFL:
fl.getDocumentDOM().xmlPanel(fl.configURI + 'Commands/ATest.xml');
fl.trace(fl.xmlui.get('secretword'));//this traces undefined
XMLUI:
<dialog buttons="accept,cancel">
<textbox id="display_tb" size="24" />
<flash id="trace_fl" width ="150" height="100" src="ATest.swf">
<property id="secretword" />
</flash>
<button id="trace_btn" label="trace Flash" oncommand="fl.xmlui.set('display_tb','the secret word is ' + fl.xmlui.get('secretword'));" />
</dialog>
ATest.swf中的动作:
MMExecute("fl.trace('Hello From Flash XMLUI');");
XMLUI.setProperty('secretword','duck');
注意如果我使用
MMExecute("fl.xml.ui.set('secretword','duck')");
而不是
XMLUI.setProperty('secretword','duck');
我收到错误。
在XMLUI中正确设置了密码:
但是在打开面板后我在JSFL中使用trace fl.xmlui.get('secretword')时我得到了不确定。
在某种程度上,如果xmlui变量在显示xmlui对话框时存在,并且只要用户单击 accept 或取消,它们就会变为未定义,这是有道理的。 。 有人确认是这样的吗?
Aworkaround将通过JSFL从xmlui中保存文本文件中的'secretword',尽管只是将值从xmlui节点传递到JSFL会更简单。 除了将文件写入磁盘之外,还有一种“更清洁”的方法吗?
答案 0 :(得分:1)
在某种程度上它是有道理的,如果 xmlui变量只要有效 显示xmlui对话框,以及它们 一旦用户变得不确定 单击“接受”或“取消”。能够 有人确认是这样的吗?
是的,我也这么认为。
Aworkaround将拯救 'secretword'在文本文件中通过 来自xmlui的JSFL,虽然只是路过 从xmlui节点到JSFL的值会 更简单。有一种“更清洁”的方式 这样做,除了写一个 文件到磁盘?
为什么不将此密码应用于XMLUI的根元素?