Domanda

Voglio impostare una variabile da un file flash in modo da poter accedere da JSFL in un comando.

Sto utilizzando un elemento nell'XMLUI di JSFL:Ecco il JSFL:

fl.getDocumentDOM().xmlPanel(fl.configURI + 'Commands/ATest.xml');
fl.trace(fl.xmlui.get('secretword'));//this traces undefined

L'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>

L'actionscript all'interno di ATest.swf:

MMExecute("fl.trace('Hello From Flash XMLUI');");
XMLUI.setProperty('secretword','duck');

Nota quello se lo uso

MMExecute("fl.xml.ui.set('secretword','duck')");

invece di

XMLUI.setProperty('secretword','duck');

Ottengo un errore.

La parola segreta è impostata correttamente in XMLUI:

  • Posso usare fl.xmlui.get('secretword') e impostare il valore nella casella di testo 'display_tb'
  • Posso stampare il valore da actionscript (con fl.trace())

ma divento indefinito quando utilizzo trace fl.xmlui.get('secretword') in JSFL dopo aver aperto il pannello.

In un certo senso ha senso, se le variabili xmlui vivono finché viene visualizzata la finestra di dialogo xmlui e diventano indefinite non appena l'utente fa clic su una delle due accettare O Annulla.Qualcuno può confermare che è così?

Una soluzione alternativa sarebbe salvare la "parola segreta" in un file di testo tramite JSFL da xmlui, anche se il semplice passaggio di valori da un nodo xmlui a JSFL sarebbe più semplice.Esiste un modo "più pulito" per farlo, oltre a scrivere un file su disco?

È stato utile?

Soluzione

In un certo senso ha senso, se le variabili XMLUI vivono fintanto che viene visualizzata la finestra di dialogo XMLUI e non vengono definite non appena l'utente fa clic o si annulla.Qualcuno può confermare che questo è il caso?

Sì lo penso anche io.

AworkAround salverebbe la "parola segreta" in un file di testo tramite JSFL da XMLUI, anche se solo passare i valori da un nodo XMLUI a JSFL sarebbe più semplice.Esiste un modo "più pulito" di farlo, oltre a scrivere un file su disco?

Perché non applicare questa parola segreta all'elemento root del tuo XMLUI?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top