0

Widget 基本クラスを定義する親 SWF ファイルがあります。

次に、外部 SWF を親にロードします。外部 SWF のドキュメント クラスは、Widget ベース クラスから派生します。たとえば、DerivedWidget と呼びましょう。

問題は、外部 SWF をロードするときに、Loader.content (DerivedWidget 型としてデバッガーに表示される) を Widget 型にキャストできないことです。ロードが完了すると、「as」演算子を使用してコンテンツを親 SWF のウィジェットとしてキャストしますが、キャストの結果は「null」になります。

外部 SWF が親のアプリケーション ドメインに読み込まれ、ローダーのコンテンツが DerivedWidget としてデバッガーに表示されるため、この動作は想定されていません。これは Widget から派生することがわかっていますが、基本 Widget クラスへのキャストは失敗しています。

誰でもこの予期しない動作を説明し、解決策を提供できますか?

[編集: 以前のコードのスナップショットを振り返ると...これは以前は機能していましたが、現在は機能していません...そして読み込みとキャストのコードは変更されていません]

[編集 2: 実際、Flash IDE でのデバッグ時に失敗しているようです。正常に実行すると、すべてが正しい ApplicationDomain (sameDomain=true) にロードされます。これは明らかに大きなバグです]

4

2 に答える 2

0

DocumentClass が継承を行う方法にはいくつかのバグがあります。

http://bugs.adobe.com/jira/browse/FP-2999 (Adobe のバグ トラッカーにログインする必要があります)

私のお勧めは、ステージから外して、代わりにライブラリを介してエクスポートすることです。そこから機能します。実際、私の経験則は「ドキュメント クラスを使用しない」ことです。

于 2009-12-02T19:31:29.733 に答える
0

私は同様の問題を経験しました。解決策は 2 つあります。

  1. DerivedWidget(mc)の代わりに を使用しmc as DerivedWidgetます。この問題に対処する記事がいくつかあります。それを見つける必要があります。

  2. DerivedWidget両方のコンパイル環境でクラスにアクセスできることを確認してください。Module を使用したり、別の Flash ドメインを呼び出したりする場合は、より注意してください。

于 2009-12-14T01:46:11.760 に答える