![]() |
|
||||||||||
|
|||||
|
Здравствуйте, уважаемые. Возможно вопрос несколько странный, но:
например, есть некий класс, в котором загружается и парсируется xml файл, также есть класс в котором создаётся экземпляр первого. И если сразу после создания экземпляра попытаться прочесть какие-нибудь значения переменных, зависящих от xml файла - естесственно они будут NaN. Я обхожу это через событие ENTER_FRAME где тупо проверяю всё ли загружено, но мне кажеться, это как-то не верно. Вопрос собственно такой, а как вы подгружаете xml что бы не напороться на "недогруженные значения"(если xml файлов несолько и они по разному организованны, то есть в один файл их сливать не хочется)?
__________________
+ |
|
|||||
|
я гружу xml так:
private var _dataLoader:URLLoader;
public function MyTree(DataLink:String):void
{
_dataLoader = new URLLoader();
_dataLoader.addEventListener(Event.COMPLETE, completeDataLoaderHandler);
_dataLoader.load(new URLRequest(DataLink));
}
private function completeDataLoaderHandler(event:Event):void
{
var xmlList:XMLList = new XMLList(event.target.data);
//тут пишем, что надо
}
__________________
я могу стать всем, если только захочу |
|
|||||
|
слушаю на Event.COMPLETE
|
|
|||||
|
ну например, если то что во втором посте - это xmlMenu, то:
выдаст NaN, если в самом классе не была строго задана len, а при этом вешать не помогает.
__________________
+ |
|
|||||
|
такой подход те нужен... ну тогда те надо генерить свое событие
eventDispatch(); |
|
|||||
|
Расскажешь подробнее?
__________________
+ |
|
|||||
|
Цитата:
когда она подгрузится, вызывается completeDataLoaderHandler, во туда и пихаешь необходимый код. ps: если я правильно понял, переменная len берется из xml?
__________________
я могу стать всем, если только захочу |
|
|||||
|
суть в следующем, в ту функцию которая у тя висит слушателем на загрузку хмл пишешь нечто вроде
eventDispatch(new Event("I_DID_IT")); а с внешней стороны к экземпляру того класса который там что то грузит в свою очередь подвешиваешь нечто вроде этого экз_твоего_класса.addEventListener("I_DID_IT",someFunction); ну а дальше понимаешь что делать... |
|
|||||
|
воооот, а дело всё в том, что некоторые вещи зависят от двух xml файлов и более, т.е. мне нужно пропарсировать первый, затем второй, и только потом начать некие действия.
Т. е. пихать код в функцию-парсер несколько не верно. чёрт знает какой из xml загрузится первым, а делать так, как описано у меня выше.....ну меня это смущает))) дай думаю спрошу кто как делает)))
__________________
+ |
|
|||||
|
ramshteks - классно, спасибо))
__________________
+ |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:05. |
|
|
« Предыдущая тема | Следующая тема » |
|
|