フレックスフレームワークをRSL(SWZ、プレーヤーキャッシングを使用)としてロードしたいのですが、フレームワークのいくつかのバグ修正にモンキーパッチを適用する必要があります。
多くのフォーラムは、これが不可能であることを示唆しています。誰かがこれを機能させましたか?
フレックスフレームワークをRSL(SWZ、プレーヤーキャッシングを使用)としてロードしたいのですが、フレームワークのいくつかのバグ修正にモンキーパッチを適用する必要があります。
多くのフォーラムは、これが不可能であることを示唆しています。誰かがこれを機能させましたか?
frame1を使用する他の回答と同じですが、James Wardには次のコードがあります:http ://www.jamesward.com/blog/2009/03/10/flex-monkey-patching-and-framework-rsls/
クロスドメイン プレーヤーのキャッシュ メカニズムを利用できるのは、Adobe 署名付きライブラリだけだと思います。あなたのものはそうではないので、それはできません。
プレーヤーのキャッシュを利用しない RSL を作成できるはずです。これは、同じドメインで同じ Flex SDK RSL をすべて使用する複数の flex アプリがあり、ブラウザーにそれらをキャッシュさせる場合に便利です。
これは、サルのパッチが適用されたクラス用に個別の RSL を作成する別のソリューションです - http://www.hrundik.ru/blog/
使用するカスタム プリローダーを作成し、そこに上書きされたクラスを含めます。そのプリローダーは、RSL (フレームワーク RSL など) の前に読み込まれるため、monkeypatched クラスが最初に存在し、フレームワークのものをオーバーライドします。
このパターンでクラスを強制的に含めることができます (これを顧客の Preloader クラスに入れます)
import com.yourclass.ClassName
private var emptyVariableTriggerInclusionOfImportedClass:ClassName
私のチームの 1 人が約 1 か月前にこれを試し、問題はないと言いました。モンキー パッチを適用したクラスがアプリケーション プロジェクトの一部である場合、それらは SWF にコンパイルされ、基本的にフレームワーク内のものを「オーバーライド」するため、動作するはずです。Flex フレームワークの RSL を変更していないため、引き続きロードされ、正常にキャッシュされるはずです。これを説明するためにアドビが発行したものはあまりありませんが、それが私がそれが機能することを理解している方法です。