Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Подгрузка модулей срабатывает случайно (http://www.flasher.ru/forum/showthread.php?t=193311)

AlexLucas 25.01.2013 15:49

Подгрузка модулей срабатывает случайно
 
Доброго времени суток.
Очень давно постил тему с этой же проблемой, но потом сменились приоритеты , да и ответов небыло.
Дело вот в чём - пытаюсь подгрузить модули через spark:ModuleLoader таким образом
Код AS3:

private function loadModule():void {
                if (modulesToLoad.length > 0) {       
 
                        var url:String = modulesToLoad[0];                                       
                        modulesToLoad.splice(0, 1);                                                                       
 
 
                        var moduleLoader:ModuleLoader = new ModuleLoader();
                        moduleLoader.addEventListener(ModuleEvent.READY, onLoadComplete);               
                        moduleLoader.addEventListener(ModuleEvent.ERROR, onLoadError);
                        moduleLoader.addEventListener("progress", checkProgress);
                        moduleLoader.loadModule(url);                       
                }
        }

modulesToLoad содержит УРЛы к модулям.
Функция подгружает один модуль, в onLoadComplete он обрабавывается, и этой же функции скармиливается следующий УРЛ.
Иногда, при запуске подгружаются все модули, иногда - нет. Просто изменив порядок подгрузки модулей они могут подгрузиться все, или не все. Всё это при том что я не делаю вообще никаких изменений в коде.
Причём когда модуль не подгружается, progress тикает и показывает что модуль подгружен полностью, но не диспатчится ни error, ни ready. В чём может быть дело? Это компилятор так шалит?
Если ошибка в коде, найти её можно только методом тыка, т.к.все модули компилятся без ошибок или предупреждений и по отдельности грузятся без проблем.
Да и модули по сути - одинаковые все.

Видимо глюк дебажного плеера, в релизном всё грузится.

AlexLucas 28.05.2013 18:52

Пришлось недавно достать эту задачу из долгого ящика, т.к. на тот момент не была приоритетной, но сейчас эта самая подгрузка в некоторых браузерах (Хром - pepperflash Отключён), IE) не срабатывает, а в остальных срабатывает.
Никто не встречался с подобной проблемой ?
Или никто не использует spark:ModuleLoader для подгрузки модулей ?

djyamato 31.05.2013 14:05

Я слышал и не раз что ModuleLoader глючный, то ли память течет то ли что-то еще. Я обхожу его стороной.
Впрочем, согласен с этим
Цитата:

Сообщение от okouser (Сообщение 1135296)
Что касается ModuleLoader, то есть его исходный код, ставьте точки останова, смотрите происходящие вызовы.


AlexLucas 05.06.2013 20:34

GC убивает локальный подгрузчик и его слушатели до того как подгрузится модуль. Решил всё просто сохранением ссылки на него в приватной переменной.
Ну как так же, слушатели повесил без weakReference, почему он его убил ?


Часовой пояс GMT +4, время: 02:05.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.