Итак, в приложении Flex я добавляю новый компонент графического интерфейса пользователя, создавая его и вызывая parent.addChild(). Однако в некоторых случаях это вызывает ошибку в кишечнике Flex. Оказывается, addChild на самом деле:
return addChildAt(child, numChildren);
В тех случаях, когда он ломается, каким-то образом numChildren отключается на единицу. Приводя к этой ошибке:
RangeError: Ошибка № 2006: Указанный индекс находится за пределами допустимого диапазона. в flash.display :: DisplayObjectContainer / addChildAt () в mx.core :: Container / addChildAt () в mx.core :: Container / addChild (). . в flash.events::EventDispatcher/dispatchEventFunction () в flash.events::EventDispatcher/dispatchEvent () в mx.core :: UIComponent / dispatchEvent () в mx.controls :: SWFLoader :: contentLoaderInfo_completeEventHandler ()
Это ошибка Flex или того, как я ее использую? Похоже, это может быть ошибка потоковой передачи, но поскольку Flex не поддерживает потоки, это немного сбивает с толку.