Модуль Flex robotlegs генерирует исключение нулевого указателя (Ошибка № 1009)
У меня проблема с приложением, которое использует RobotLegs в модуле Flex. Мне наконец удалось успешно загрузить свой модуль, но когда я пытаюсь добавить эту строку кода в Посредник представления модуля:
view.addElementAt(applicationContainer,0);
Я получаю эту ошибку:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at mx.core::UIComponent/getStyle()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:11128]
at mx.core::UIComponent/getConstraintValue()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:9083]
at mx.core::UIComponent/get horizontalCenter()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:9252]
at spark.layouts::BasicLayout/measure()[E:\dev\4.y\frameworks\projects\spark\src\spark\layouts\BasicLayout.as:253]
at spark.components.supportClasses::GroupBase/measure()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\supportClasses\GroupBase.as:1148]
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 spark.components::Group/validateSize()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\Group.as:1012]
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:816]
at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:1180]
Почему это происходит? Компонент, который я пытаюсь добавить, является компонентом группы, есть идеи?
Для получения дополнительной информации я не использую модульные роботолеги, потому что модуль загружается в приложение, которое уже реализует чистые робототехнические ножки, поэтому я хочу снизить удобство реализации модульных роботолег, это большой проект, мой модуль загружается успешно, но проблемы возникают, когда я запускаю Событие, которое изменяет представление состояния модуля для показа другого компонента, я использую ApplicationDomain.currentDomain в ModuleLoader.
1 ответ
Я немного искал и наткнулся на этот пост на форумах Adobe. У кого-то, похоже, такая же проблема, и не похоже, что она вообще связана с RobotLegs.
Не зная ни одного из ваших реальных кодов приложения, я не могу быть полностью уверен в этом, но я полагаю, что это хорошее предположение, что ваше приложение просто не передает значения инициализации в модуль правильно.
Следуя совету, указанному во втором и последнем ответе вышеупомянутого поста:
Вместо использования имени модуля [имя модуля] в основном приложении используйте интерфейс, который реализует [модуль].
Вы должны перейти к этой статье о реализации общего интерфейса между модулем и приложением. Попробуйте применить это к вашему конкретному модулю и посмотрите, существует ли ваша проблема.