0

今日、私はこのバグに遭遇しました:

http://bugs.adobe.com/jira/browse/SDK-26147

SWFLoaderを介して別のチームのアプリケーションを自分のアプリケーションにロードしています。さまざまな理由から、フラグloadForCompatibilityを使用してtrueに設定する必要があります。ロードされたサブアプリケーション内のすべてのsparkDropDownListインスタンスが、ドロップダウンを誤ってオフセットしていることに気付きました。私のアプリケーションにはヘッダーがあるため、プルダウンはヘッダーの高さによって垂直方向にオフセットされます。テストサブアプリケーションのMXバージョンのComboBoxには、この問題はありません。

次の行を追加してみました:

-includes = mx.managers.systemClasses.MarshallingSupport

-includes + = mx.managers.systemClasses.MarshallingSupport

私のアプリケーションのコンパイラオプションに変更しましたが、効果はありません。

また、importステートメントを書き込もうとしたときに、MarshallingSupportが存在しないことに気づきました。FlashBuilder 4を使用しています。デフォルトのSDK(4.1)を使用しています。サブアプリケーションは同じです。

これに対する回避策はありますか?私は何か間違ったことをしていますか?なぜこれが必要なのですか?他のチームにすべてのs:DropDownListをmx:ComboBoxに切り替えるように指示すると、控えめに言っても面倒になります。また、APIが異なるため、非常に時間がかかります。この問題を解決するために私にできることがあると本当に願っています。私はそれを間違っていると言ってください。

4

1 に答える 1

0

わかりました。1 つのオプションは、AnchorPopUp の動作を変更する新しい DropdownListSkin を作成することでした。それは問題のない解決策でした。しかし、さらに苦労して、「-includes+=mx.managers.systemClasses.MarshallingSupport」をコンパイラで最終的に機能させることができました。MatrixUtil.getConcatenatedMatrixHelper()の1432行目にブレークポイントを入れることで、マーシャリングサポートがオンかオフかを確認できました。または、次のように呼び出して確認することもできます。

 ApplicationDomain.currentDomain.hasDefinition("mx.managers.systemClasses.MarshallingSupport");

したがって、私のように、コンパイラ オプションが正しく設定されていると思われる場合は、上記のコードを使用して、実際に正しく設定されていることを確認してください。MatrixUtil が MarshallingSupport にアクセスできる限り、spark プルダウンなどは正常に機能します。

さらに、アドビ フォーラム ( http://forums.adobe.com/thread/1034957 ) からいくつかの助けを得ました。

編集:私はこれを回答としてフラグを立てているので、SOは私に回答を受け入れるように求めるのをやめます.

于 2012-08-03T07:36:15.177 に答える