¿Cómo puedo obtener valores de Flash Authoring en JSFL a través de XMLUI?
-
26-09-2019 - |
Pregunta
Quiero configurar una variable de un archivo flash para poder acceder desde JSFL en un comando.
Estoy usando un elemento en XMLUI de JSFL:Aquí está el JSFL:
fl.getDocumentDOM().xmlPanel(fl.configURI + 'Commands/ATest.xml');
fl.trace(fl.xmlui.get('secretword'));//this traces undefined
La interfaz de usuario XML:
<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>
El actionscript dentro de ATest.swf:
MMExecute("fl.trace('Hello From Flash XMLUI');");
XMLUI.setProperty('secretword','duck');
Nota eso si lo uso
MMExecute("fl.xml.ui.set('secretword','duck')");
en lugar de
XMLUI.setProperty('secretword','duck');
Recibo un error.
La palabra secreta está configurada correctamente en XMLUI:
- Puedo usar fl.xmlui.get('secretword') y establecer el valor en el cuadro de texto 'display_tb'
- Puedo imprimir el valor desde actionscript (con fl.trace())
pero no estoy definido cuando uso trace fl.xmlui.get('secretword') en JSFL después de abrir el panel.
En cierto modo, tiene sentido, si las variables xmlui permanecen mientras se muestra el cuadro de diálogo xmlui y dejan de estar definidas tan pronto como el usuario hace clic en cualquiera de ellas. aceptar o Cancelar.¿Alguien puede confirmar si este es el caso?
Una solución alternativa sería guardar la 'palabra secreta' en un archivo de texto a través de JSFL desde xmlui, aunque sería más sencillo simplemente pasar valores de un nodo xmlui a JSFL.¿Existe una forma más "limpia" de hacer esto, además de escribir un archivo en el disco?
Solución
En cierto modo, tipo de tiene sentido, si las variables XMLUI viven tanto como el diálogo es xmlui pantalla, y convertido en indefinido, tan pronto como el usuario haga clic en aceptar o cancelar. lata alguien confirmar es que este es el caso?
Sí, yo también lo creo.
Aworkaround se ahorra el 'Secretword' en un archivo de texto a través JSFL de xmlui, aunque de paso los valores de un nodo xmlui a JSFL Would ser más simple. ¿Hay una manera 'limpia' de esta manera, aparte de escribir una archivo en el disco?
¿Por qué no aplicar la presente secretword al elemento raíz de su XMLUI?