Просмотр полной версии : Не срабатывает Event.Complete
Волгоградец
04.02.2009, 11:32
Вобщем гружу swf - на Loader.contentLoaderInfo повесил ProgressEvent.PROGRESS и Event.Complete - на одном компьютере все отлично работает, на другом срабатывает только ProgressEvent.PROGRESS. Причем доходит до bytesTotal и останавливается, т.е. по идее файл загрузился. Работаю в FD, тестирую в 10-м плеере. Я в растерянности...
DarkLight
04.02.2009, 12:27
а загруженное содержимое отображается?
Волгоградец
04.02.2009, 12:30
Нет..
DarkLight
04.02.2009, 12:44
код покажите. проблему удается воспроизвести в рамках небольшого примера?
Волгоградец
04.02.2009, 13:06
Код элементарный.
public class Test extends Sprite{
private var loader:Loader;
private var urlRequest:URLRequest;
public function Test() {
loader = new Loader();
urlRequest = new URLRequest("LoaderTest1.swf");
loader.load(urlRequest);
this.addChild(loader);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, this.progressHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.completeHandler);
}
public function progressHandler(e:ProgressEvent):void {
Debugger.trace(LoaderInfo(e.target).bytesLoaded);//срабатывает
}
public function completeHandler(e:Event):void {
Debugger.trace("GGG");//не срабатывает
}
}
Имя документ-класса подгружаемой флешки случайно не совпадает с каким-нибудь классом главной?
Если так, то надо либо изолировать Application domain, либо сменить название(задать свой пакет) классу подгружаемой swf.
Волгоградец
04.02.2009, 13:22
Да нет. Все стандартное - PROGRESS то срабатывает. Вот, если кому не лень - откройте флэшку NewProject.swf (она грузит LoaderTest1) - если отобразится содержимое - я успокоюсь и буду думать что у меня системный глюк.
darksranger
04.02.2009, 13:28
негрузит, не локально, не на сервере
более того, через какоето время Opera закрывается :D
Да нет. Все стандартное - PROGRESS то срабатывает.
PROGRESS и должен срабатывать, а экземпляр создаться не может.
Повторюсь, надо либо сменить название документ-класса подгружаемой флешки, либо изменить код загрузки на
loader.load(urlRequest, new LoaderContext(false, new ApplicationDomain(null)));
т.к. название класса главной флешки (Main) и подгружаемой (тоже Main) совпадают.
ЗЫ: используй пакеты,
ЗЗЫ: и выкладывай исходники, а не только swf-ки
Волгоградец
04.02.2009, 13:49
Добавлено через 3 минуты
ЗЫ: используй пакеты,
Точно! Одинаковые имена главного класса, я сразу не въехал. Спасибо, badun.
P.S.: странно, однако, что на другом компьютере все работает.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.