Подскажите где искать проблему, уже всё перерыл....
Структура приложения следующая. Есть основная swf-ка, содержашая основные классы и минимум ресурсов (чтобы грузилась быстрей). В нее динамически через несколько SWFLoader-ов подгружаются отдельные модули. Один из таких модулей - магазин. Основная его часть - это два флексовских контрола: List - список товаров, и TileList - инвентарь пользователя. Для обоих списков созданы свои ItemRenderer-ы: для товара он содержит картинку, описание товара и цену, плюс кнопку "купить", при нажатии на которую на сервер отправляется соотвсетствующая команда. В ответ сервер присылает список элементов инвентаря с учетом купленной вещи. Этот ответ принимается главной swf-кой, которая генерит евент. Модуль "магазин" ловит этот эвент и обновляет инвентарь (создается новый ArrayCollection, заполняется данными и заменяется dataProvider).
похоже, что примерно в этот момент вываливается следующее исключение:

Код:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at mx.utils::LoaderUtil$/normalizeURL()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\utils\LoaderUtil.as:93]
at mx.controls::SWFLoader/loadContent()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\controls\SWFLoader.as:1626]
at mx.controls::SWFLoader/load()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\controls\SWFLoader.as:1447]
at mx.controls::SWFLoader/commitProperties()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\controls\SWFLoader.as:1229]
at mx.core::UIComponent/validateProperties()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\core\UIComponent.as:5807]
at mx.managers::LayoutManager/validateClient()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:811]
at mx.controls.listClasses::TileBase/getPreparedItemRenderer()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\controls\listClasses\TileBase.as:585]
at mx.controls.listClasses::TileBase/makeRowsAndColumns()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\controls\listClasses\TileBase.as:409]
at mx.controls.listClasses::ListBase/makeRowsAndColumnsWithExtraRows()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\controls\listClasses\ListBase.as:1380]
at mx.controls.listClasses::ListBase/updateDisplayList()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\controls\listClasses\ListBase.as:3726]
at mx.controls.listClasses::TileBase/updateDisplayList()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\controls\listClasses\TileBase.as:2357]
at mx.controls.listClasses::ListBase/validateDisplayList()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\controls\listClasses\ListBase.as:3348]
at mx.managers::LayoutManager/validateDisplayList()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:622]
at mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:695]
at Function/http://adobe.com/AS3/2006/builtin::apply()
at mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8733]
at mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\3.4.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8673]
Все, что нашел в гугле, это совет инициализировать переменные:
Цитата:
when defining my private variables, instead of writing:
private var textfield:TextField;
I had to write
private var textfield:TextField = new TextField();
|
но где искать, если эксепшен вываливается в mx.utils::LoaderUtil.normalizeURL()?