Я хочу установить переменную из файла флэш-памяти, чтобы получить доступ к ней из команды JSFL.
Я использую элемент в XMLUI JSFL:
Вот 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>
ActionScript внутри 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:
- Я могу использовать fl.xmlui.get ('secretword') и установить значение в текстовом поле 'display_tb'
- Я могу напечатать значение из actionscript (с помощью fl.trace ())
но я не определился, когда я использую трассировку fl.xmlui.get ('secretword') в JSFL после открытия панели.
В некотором смысле это имеет смысл, если переменные xmlui живут до тех пор, пока отображается диалоговое окно xmlui, и становятся неопределенными, как только пользователь нажимает accept или cancel .
Кто-то может подтвердить, что это так?
Aworkaround будет сохранять «секретное слово» в текстовом файле через JSFL из xmlui, хотя просто передать значения из узла xmlui в JSFL будет проще.
Есть ли «чистый» способ сделать это, кроме записи файла на диск?