_ 以前あげた物に ExternalInterface 処理 を足したので投げときます。 これで TJS←→ActionScript 間での任意のメソッドによる相互呼び出しが可能になりました。 引数と帰り値は自動変換されます。値渡ししかできませんが、SetVariable+Jump / FSCommand での制御よりはるかに直感的で使い易くなったのではないかと思います。 まあ、使う人はほとんどいないでしょうが(苦笑)
ActionScript側に例外を通す口がわからんのでそこはエラーコード取得関数を追加して お茶を濁してあります。イベント呼び出しの口では例外情報うめようと思っても さくっと無視されてる(涙)。うーん、対ブラウザの時は、コンテナのもってるなんか 特殊なインターフェース経由で処理してるのかなぁ。誰かもし知ってたら情報よろ^^;
ExternalInterface 処理はデータのやりとりが XMLで、さて、どう書いたものかと
思ってたのですが、RapidXml
の存在を知ったのでそれでさくさく対応してみました。
C++のテンプレートベースで、ヘッダ読み込みだけで記述できるのがポイントで、ラインセス
は Boost または MIT のデュアルライセンスです。制御インターフェースが DOMしかなく、
オンメモリ動作前提なので、大規模のものには向かないですが、この程度のもの用途なら
ちょうどいいかんじです。さすがに expat や xerces は大鉈すぎる^^;
メールはこちらへ...[わたなべごう (go @(at) denpa .(dot) org)]
この日記は、GNSを使用して作成されています。