2011-09-09 10 views
0

2つのFlash Builderプロジェクトがあります。 MainWebとMainAIRと呼ぼう。FlashBuilderがクラス定義を検索する順序を指定する方法

MainWebは、Webサービスとインターフェイスする実行時ロードモジュールを含む、アプリケーションのすべてのクラスを定義しています。 MainAIRのSource PathはMainWeb/srcを参照しており、2つのユニークな部分しか含まれていません。最初のファイルはもちろんルートMXMLドキュメントです。もう一方のファイルは、MainWebで定義された、DataStreamerと呼ばれるコンパイル済みランタイムモジュールをオーバーライドします。 DataStreamerはMainWeb用のWebサービスと、MainAIR用のOSファイルシステムとのDataStreamerインタフェースの代替バージョンとのインタフェースを提供します。これにより、プロジェクトのペアを非常に簡単に維持でき、アプリケーションのWebバージョンとAIRバージョンの両方を簡単に作成できます。

mx.controls.Imageのインスタンスを追加する必要があるまでうまくいきました。イメージはSWFLoaderを参照し、実行時にリソース/コンテンツswfsをロードします。これらのリソースの一部は、実行可能なコードを持っているので、私は次の操作を実行するために必要な:

 
loaderContext = new LoaderContext(); 
loaderContext.allowLoadBytesCodeExecution = true; 

これはMainAIRからうまく動作しますが、理由はもちろんallowLoadBytesCodeExecutionはAIRプロジェクトにのみ使用可能ですMainWebにエラーが発生します。だから、私は私がランタイムモジュールで使用したのと同じテクニックを使用でき、MainAIRでクラスの新しいバージョンを定義することができると考えました。これは失敗しました。 FlashBuilderはMainWebのクラスのバージョンでコンパイルしています。または、Flash PlayerがMainWebのバージョンをインスタンス化しています。私はコードを逆コンパイルせずにはわかりません。

FlashBuilderがクラス定義を検索する順序を指定するにはどうすればよいですか?

答えて

0

興味深い解決策。 MainAIRのリストに別のSource Path項目を追加し、MainWeb/src項目を新しい項目の下に移動します。たとえば、MainAIRのSource Pathリストを次のように設定すると、問題が解決しました。

 
MainWeb/assets 
MainWeb/src 
関連する問題