У меня есть кнопка, которая при нажатии загружает модуль Flex в мое приложение AIR.Тем не менее, иногда модуль не загружается при первом нажатии кнопки, но работает при втором нажатии.Когда я отлаживаю его в отладчике, событие READY не запускается, поэтому оставшаяся логика никогда не вызывается.
var moduleInfo:IModuleInfo = ModuleManager.getModule(managedModule.url);
moduleInfo.addEventListener(ModuleEvent.READY, function(event:ModuleEvent):void {
trace("ModuleEvent.READY called.");
});
moduleInfo.addEventListener(ModuleEvent.ERROR, function(event:ModuleEvent):void {
trace("ModuleEvent.ERROR called.");
});
moduleInfo.addEventListener(ModuleEvent.SETUP, function(event:ModuleEvent):void {
trace("ModuleEvent.SETUP called.");
});
moduleInfo.addEventListener(ModuleEvent.PROGRESS, function(event:ModuleEvent):void {
trace("ModuleEvent.PROGRESS called.");
});
moduleInfo.addEventListener(ModuleEvent.UNLOAD, function(event:ModuleEvent):void {
trace("ModuleEvent.UNLOAD called.");
});
moduleInfo.load(ApplicationDomain.currentDomain);
ApplicationDomain.currentDomain необходим для исправления других проблем, но наличие или удаление его не вызываеткажется, не имеет значения.Иногда модули просто не загружаются.Вывод примерно такой:
[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.PROGRESS вызван.[SWF] MyStupidModule.swf - 342 932 байта после распаковки [trace] ModuleEvent.SETUP вызван.[trace] ModuleEvent.PROGRESS вызывается.
Обратите внимание, что READY никогда не вызывается и не является ошибкой.Если я нажму кнопку еще раз, вот что распечатывается:
[trace] ModuleEvent.SETUP вызывается.[trace] ModuleEvent.PROGRESS вызван.[trace] ModuleEvent.READY вызывается.
Есть какие-нибудь подсказки, что может быть причиной этого?Мы используем Flex 3.6.0 AIR 2.6.019