2

Flex3.6アプリをFlex4に移行する必要があります。Flex3.6プロジェクトをFlashBuilder4.7にインポートし、次のチュートリアルに従ってすべてのエラーを修正しました: http ://www.adobe.com/devnet/flex/articles/migrating-flex- apps-part1.html

アプリケーションを実行しようとすると、次のエラーで失敗します。

RangeError: Error #2006: The supplied index is out of bounds.
    at flash.display::DisplayObjectContainer/getChildAt()
    at mx.core::Container/getChildAt()[C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\sdks\4.6.0\frameworks\projects\mx\src\mx\core\Container.as:2751]
    at mx.core::Container/http://www.adobe.com/2006/flex/mx/internal::getLayoutChildAt()[C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\sdks\4.6.0\frameworks\projects\mx\src\mx\core\Container.as:501]
    at mx.containers.utilityClasses::CanvasLayout/measure()[C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\sdks\4.6.0\frameworks\projects\mx\src\mx\containers\utilityClasses\CanvasLayout.as:198]
    at mx.core::LayoutContainer/measure()[C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\sdks\4.6.0\frameworks\projects\mx\src\mx\core\LayoutContainer.as:432]
    at mx.core::Application/measure()[C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\sdks\4.6.0\frameworks\projects\mx\src\mx\core\Application.as:1124]
    at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::measureSizes()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:8506]
    at mx.core::UIComponent/validateSize()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:8430]
    at mx.core::Container/validateSize()[C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\sdks\4.6.0\frameworks\projects\mx\src\mx\core\Container.as:3280]
    at mx.managers::LayoutManager/validateSize()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:665]
    at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:792]
    at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:1180]

このエラーは完全にFlashフレームワークスタック内にあるため、解決方法に関する情報はありません。このエラーの原因は何ですか?

4

1 に答える 1

0

Flex 4 を扱っているため、getChildAt() の代わりに getElementAt() を使用してみてください。

于 2013-08-13T09:54:28.063 に答える