1

PureMVC で構築された既存のモジュラー プロジェクトに取り組んでいます。すべてを RobotLegs に変換する代わりに、RobotLegs を使用して新しいモジュールを作成し、それを pureMVC シェルにプラグインしたいと考えています。現在、モジュールをロードすると、次のフラッシュ エラーが発生します。

ReferenceError: エラー #1065: 変数 IMediatorMap が定義されていません。

最初は、私のモジュールがpureMVC StartupCommandを呼び出して物事を「接続」し、RobotLegsのコンテキストを作成するためにpureMVC Mediatorが必要だったからだと思いました。ただし、それは機能せず、まだエラーが発生しています。何が起こっているのか分かりますか?

ありがとう。

4

2 に答える 2

1

あなたの問題が PureMVC や RobotLegs と関係があるとは思いません。RobotLegs モジュールには RobotLegs ライブラリが含まれておらず、メイン アプリケーションも含まれていないようです。モジュールが RobotLegs .swc でリンクしていません。RobotLegs .swc をメイン アプリケーションに追加するが、それを使用しない場合、クラスはアプリケーションにコンパイルされません。mxmlc および Flash/Flex Builder コンパイラは、使用されていないクラスを SWF に含めません。

これを解決するには、メイン アプリケーションで -include-libraries オプションを使用して、ライブラリ全体を強制的に含めることができます。モジュールのリンク オプションを「Merged into code」に変更して、そこに RobotLegs .swc を含めることもできます。

于 2010-10-19T15:54:21.557 に答える
1

わかりました - それで、私はあちこちを読んで、何が問題なのかを理解しようとしていました. RobotLegs のサポート ディスカッションで、同様のトピックが投稿されました。RL のフレームワークに ApplicationDomain に関係するバグがあることが判明しました。ここを読む:

http://knowledge.robotlegs.org/discussions/problems/160-child-applicationdomains-break-the-injector

その投稿の解決策は、RL v.1.3.0 を使用することでした。しかし、その考えに従って、RL の lib/ フォルダーにある SwiftSuspender-1.5.1.swc のライブラリー参照を削除し、代わりに GitHub から SwiftSuspender をダウンロードしました。これも v.1.5.1 ですが、何らかの理由で GitHub のもので動作します。RL のフレームワークに付属していたものを GitHub から入手したものに置き換えたところ、エラーなしで実行されるようになりました....今のところ.

ありがとう。:)

于 2010-10-19T17:59:27.160 に答える