- 2009年10月14日 06:13
- ActionScript 3.0
Number、String、Booleanなどプリミティブ型を引数で渡すのはカンタンですが、
Objectを渡す時は少し注意が必要です。
import adobe.utils.MMExecute;
var str:String = "引数";
var obj:Object = {a:"a", b:"b"};
MMExecute(
'fl.runScript(fl.configURI+"/hoge.jsfl", "testFunc", ' + str + ')' //OK
);
MMExecute(
'fl.runScript(fl.configURI+"/hoge.jsfl", "testFunc", ' + obj + ')' //エラー
);
MMExecuteの引数はString型なので
そのまま渡してもエラーになります。まあ、当然ですね。
なので、jp.nium.utils.ObjectUtil.toString()などを使って、
Stringに変換してから渡してやりましょう。
import adobe.utils.MMExecute;
import jp.nium.utils.ObjectUtil;
var obj:Object = {a:"a", b:"b"};
MMExecute(
'fl.runScript(fl.configURI+"/hoge.jsfl", "testFunc", ' + ObjectUtil.toString(obj) + ')'
);
例は示しませんがArrayとかでも同様です。
- Newer: サトウ家に・・・
- Older: fl.runScriptで外部JSFLファイルを読み込むのは最初の一回でよい