0

何らかの理由で、Flash Player を最新バージョン (10、0、32、18) にアップグレードすると、すぐに私のアプリケーションで問題が発生し始めます。私のロギングによると、LocalConnection.connect() は失敗しています。これについて文書化されている唯一の理由は、マシン上で実行されている別の SWF がその名前を使用しているということです。ただし、その名前を使用しているものは他にありません (毎回一意の名前を生成し、マシンで他の SWF が実行されていません)。

コードは更新前は問題なく動作していましたが、更新後は毎回壊れます。ただし、これを引き起こす可能性のある LocalConnection の動作方法に計画された変更があったことを示唆する情報はありません。

このアップデートで LocalConnection が変更されたようですが、Mac のみであり、完全な下位互換性があるはずです (私が見ている問題は Windows にあります。テストする Mac はありませんでした)。

他の誰かがこれを見たことがありますか?これまでのところ、単純なテスト ケースでは再現できませんでしたが、私のアプリケーションでは 100% 一貫しています。

問題が何であるかについてのアイデアはありますか?

4

1 に答える 1

0

修正が見つかりました。

私のコードでは、構築時に接続する LocalConnection を拡張するクラスがありました。そのコンストラクターで、次のように呼び出しました。

super.connect(name);

これを次のように変更します。

this.connect(name);

問題を修正しました (私のクラスは connect メソッドをオーバーライドしませんでした)。

これで直ってよかったのですが、これが直ったのか少し心配です。私のクラスは connect() メソッドをオーバーライドしなかったので、 super.connect() と this.connect() が同等であると期待します。そして、Flash Player の最新のアップデートまではそうでした。これが壊れたという事実は、プレーヤーの継承処理のどこかにバグが導入されたことを意味します。心配。

修正を提案してくれたhttp://brendyn.com/blog/?p=80&cpage=1#comment-24に感謝します。

于 2009-09-03T20:37:54.450 に答える