Показать сообщение отдельно
Старый 14.10.2010, 05:33
iforev вне форума Посмотреть профиль Отправить личное сообщение для iforev Найти все сообщения от iforev
  № 1  
Ответить с цитированием
iforev

Регистрация: Jan 2008
Сообщений: 35
По умолчанию Отменить загрузку Loader'ом

Требуется отменить загрузку файла.
Пробую методами close и unload - не отменяется. Сначала думал, что bandwidth profiler глючит, не реагируя на прекращение загрузки, затем сделал следующий тестовый код:

Код AS3:
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.ProgressEvent;
 
var a:Loader = new Loader();
a.load(new URLRequest('1.jpg'));
a.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progr);
 
butt.addEventListener(MouseEvent.MOUSE_DOWN, onButtMD);
function onButtMD(ev:Event){
    a.unload()
}
function progr(ev){
    trace(ev.target.bytesLoaded);
}
но после вызова функции unload() событие Progress не перестает происходить, хотя количество загруженных байт обнуляется и более не растет. При использовании функции close() реакции вообще никакой - как загружал так и загружает, только если вызвать ее 2-й раз, появится ошибка, что данный загрузчик не имеет активных загрузок.

Что я делаю не так?

Для чего всё это нужно: загружаю последовательно много файлов. Чтобы узнать общий размер сначала начинаю загрузку всех файлов сразу (разными загрузчиками), после 1-о события Progress, когда становится известным размер загружаемого файла, все загрузчики, кроме первого, нужно закрыть.