世間は(自分も含めて)Flex2.0に目を向けていると思いますが、
まだしばらく製品としては使われるflex1.5でのflash8の機能利用について実験しました。
これまでFlex1.5でFlash8の機能を使うのに、何度か失敗してきました。
・新しいAPIをmxmlに直接記述する。
->Flexのコンパイラが受け付けてくれませんでした。
・mtascのクラスを"user_classes"にコピーする。
->コンパイルエラーになってしまいました。
ASクラスが完全ではない?というような意味のエラーが出てきました。
・flash 7でflash8形式で出力してswfを読み込む
->devnetの記事をもとに作成してみたところ、大成功でした。
flash7からloadしてもflash8部分はFlash8として読み込むことにちょっとびっくりしたものです。
この形式で、FlexでIMEの制御をすることができるようになりました。
Flex単体では、Flash8形式のファイルが出力できなくても、swfを読み込むことで機能を使うことが
できるので満足していたのですが、OpenLaszloでは出力できるということを聞いて再びチャレンジしてみました。
・mtascのクラスを"system_classes"にコピーする。
・flash8のクラスを"system_classes"にコピーする。
ファイルダイアログを表示する、FileReferenceクラスを使用するのであれば、上記2つの方法とも
できました。
でもエラーはでなくなりますが最終的に出力されるファイル形式が"Flash 7形式"なので、Flash8Playerでも正常に動作しません。
そこで以前作成したServletのフィルタを設定したところ、正常に動作しました。
・Flash8形式のswf + Flex1.5
・Flash8のクラス + Flex1.5 + Servletフィルタ
・mtascのクラス + Flex1.5 + Servletフィルタ
でFlex1.5でもflash8の機能を使うことができるようになります。
今となってはFlash8も発売されましたし、Flex2.0はアルファを使うことができるので、
無理してFlex1.5でFlash8の機能を使う必要は感じられませんが
できないよりはできたほうが楽しいと思います。
もうすこしこのネタは続けます。
Posted by nod at 2005年10月21日 03:31 | コメント (0) | トラックバック (0) | Clip!! | Clip!! | |digg it! |del.icio.us it!
この記事に対するコメント