XMLUI 経由で JSFL の Flash オーサリングから値を取得するにはどうすればよいですか?
-
26-09-2019 - |
質問
コマンドで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 で適切に設定されています。
- fl.xmlui.get('secretword') を使用して、「display_tb」テキストボックスに値を設定できます。
- アクションスクリプトから値を出力できます(fl.trace()を使用)
しかし、パネルを開いた後にJSFLでtrace fl.xmlui.get('secretword')を使用すると、unknownが発生します。
xmlui ダイアログが表示されている限り xmlui 変数が存続し、ユーザーがいずれかをクリックするとすぐに xmlui 変数が未定義になる場合は、ある意味では理にかなっています。 受け入れる または キャンセル。誰かがこれが事実であることを確認できますか?
回避策は、xmlui から JSFL を介して「秘密ワード」をテキスト ファイルに保存することですが、xmlui ノードから JSFL に値を渡すだけの方が簡単です。ファイルをディスクに書き込む以外に、これを行う「よりクリーンな」方法はありますか?
解決
それは一種作るセンスの方法で、もし XMLUI変数は限りとして生きます XMLUIダイアログが表示され、そして彼ら ユーザーや否や不定となります 受け入れるか、またはキャンセルのいずれかをクリックします。できる 誰かの確認は、このような場合はありますか?
はい、私もそう思います。
Aworkaroundが保存されるだろう テキストファイルの「SECRETWORD」を介して XMLUIからJSFL、ちょうど渡しているが JSFLうとXMLUIノードからの値 シンプルに。 「クリーン」な方法はあります Aを書く以外にこれを行うための ディスクにファイル?
なぜ、あなたのXMLUIのルート要素にこのSECRETWORDを適用しない?