— boreal-kiss.com

FileReference.loadを含むファイルをFlex Builderでコンパイルする時のチップ

かなり限定的なシチュエーションだけど、Flex Buider 3のリリース用にコンパイルしたswfファイル内のFileReference.loadは

  • ネットワーク上で動作しない(IllegalOperationError #2014)
  • ローカルで動作する

デバッグ情報込みでコンパイルしたswfファイル(デフォルトだとbin-debug内に作成されるやつ)は

  • ネットワーク上で動作する
  • ローカルで動作する

FlexibleFactoryの方からも同様の旨のコメントをもらったのでおそらく間違った情報ではないはず。デバッグバージョンを使えばネットワーク上でも動作するから問題ないっちゃ問題ないんだけど、デバッグ情報が入ってる分ファイルサイズが結構大きくなるのが嫌。そこでプロジェクト > プロパティ > ActionScriptコンパイラ > 追加コンパイラ引数に以下を記述。

-debug=false -optimize=true

これでbin-debugに作成されるswfファイルがリリースビルドで作成されるswfファイルと同サイズになる。もちろんこのオプションだとデバッグはできないので、リリース用に書き出すギリギリに付け加えるのがいいかも。そもそも何でこんな状況になるのかは不明なので、何か情報をお持ちであればフィードバックもらえるとうれしいです。設定が面倒くさくてかないません。

0 comments
Submit comment