Comment puis-je obtenir des valeurs de création Flash dans JSFL via XMLUI?
-
26-09-2019 - |
Question
Je veux définir une variable d'un fichier flash afin que je puisse accéder si de JSFL dans une commande.
J'utilise un élément dans XMLUI de JSFL: Voici le JSFL:
fl.getDocumentDOM().xmlPanel(fl.configURI + 'Commands/ATest.xml');
fl.trace(fl.xmlui.get('secretword'));//this traces undefined
Le 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>
Le actionscript intérieur ATest.swf:
MMExecute("fl.trace('Hello From Flash XMLUI');");
XMLUI.setProperty('secretword','duck');
Remarque que si j'utilise
MMExecute("fl.xml.ui.set('secretword','duck')");
au lieu de
XMLUI.setProperty('secretword','duck');
Je reçois une erreur.
Le motsecret est correctement défini dans XMLUI:
- Je peux utiliser fl.xmlui.get textbox ( 'motsecret') et définissez la valeur dans le 'display_tb'
- Je peux imprimer la valeur de actionscript (avec fl.trace ())
mais je reçois quand je undefined utilise trace fl.xmlui.get ( 'motsecret') dans JSFL après l'ouverture du panneau.
D'une certaine manière, il sorte de logique, si les variables XMLUI vivent aussi longtemps que la boîte de dialogue XMLUI est affichage, et ils deviennent non défini dès que l'utilisateur cliquez sur acceptent ou cancel . Quelqu'un peut-il confirmer est ce cas?
Aworkaround serait sauver la « motsecret » dans un fichier texte par JSFL de XMLUI, bien que passer des valeurs d'un nœud XMLUI à JSFL serait plus simple. Est-il un moyen « plus propre » de le faire, autre que d'écrire un fichier sur le disque?
La solution
D'une certaine manière, il sorte de logique, si les variables XMLUI vivent aussi longtemps que la boîte de dialogue XMLUI est affichage, et ils devenir non défini dès que l'utilisateur cliquez sur accepter ou annuler. Pouvez quelqu'un Confirm c'est le cas?
Oui, je le pense aussi.
Aworkaround serait sauver la « Motsecret » dans un fichier texte par JSFL de XMLUI, bien que passer les valeurs à partir d'un noeud de XMLUI à JSFL serait être plus simple. Est-il un moyen « plus propre » de le faire, autre que d'écrire un fichier sur le disque?
Pourquoi ne pas appliquer cette motsecret à l'élément racine de votre XMLUI?