Просмотр полной версии : Остановить лоадер
Abdilxamidov
22.12.2011, 16:20
Подскажите, как сбросить (остановить) Loader в процессе загрузки картинки?
вызвать метод close() для этого лоадера
Abdilxamidov
22.12.2011, 18:24
Я пробовал Loader.close() прописывать в обработчике нажатия мыши на кнопке Стоп при условии наличия процесса загрузки.
Компилятор выдвет ошибку:
Error: Error #2029: Этот объект URLStream не имеет открытого потока.
at flash.display::Loader/close()
В каком месте Loader.close() можно прописывать?
Добавлено через 50 минут
Пробовал по всякому - не получается прервать загрузку :(
Byelik13
22.12.2011, 19:22
попробуйте loader.unload
Abdilxamidov
22.12.2011, 20:04
попробуйте loader.unload
Пробовал, загрузка картинки всё равно не прерывается... Думаю наверное через URLStream решать
gloomyBrain
23.12.2011, 11:34
@in4core
unloadAndStop()
Эта штука к остановке загрузки отношения не имеет.
@Byelik13
попробуйте loader.unload
Эта штука тоже.
@Abdilxamidov
Я пробовал Loader.close() прописывать в обработчике нажатия мыши на кнопке Стоп при условии наличия процесса загрузки.
Компилятор выдвет ошибку:
Error: Error #2029: Этот объект URLStream не имеет открытого потока.
at flash.display::Loader/close()
В каком месте Loader.close() можно прописывать?
Во-первых: не компилятор, а среда выполнения (к компиляции эта ошибка отношения не имеет)
Во-вторых: в ошибке ясно сказано, что на данный момент ничего не грузится, а вы пытаетесь прервать загрузку. Тут есть 2 варианта решения:
1) четко знать когда загрузка началась и когда закончилась (видимо, не получается)
2) поставить выражение в try-catch
try {
loader.close();
} catch (error:Error) {
trace ("Ну как же можно остановить загрузку, когда ее не происходит? =)")
}
Второй вариант точно избавит Вас от ошибки, но это не всегда правильно - вот так от них избавляться.
Abdilxamidov
23.12.2011, 17:41
Вот посмотрите лог работы imLoader.close() из обработчика события ProgressEvent.PROGRESS этого лоадера.
Видно, что загрузка не прекращается.
cleptoman
23.12.2011, 20:42
close можно только после Event.OPEN..раньше никак..
либо заворачивайте в трай кеч.
Abdilxamidov
23.12.2011, 20:57
close можно только после Event.OPEN..раньше никак..
либо заворачивайте в трай кеч.
Это я понял, я даю после imLoader.load(). В логе видно, что загрузка началась. В процессе загрузки байтов я подаю imLoader.close(), за которым для отслеживания стоит trace("imLoader.close()"). Но, как видно из лога, байты продолжают загружаться до полного завершения :(
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.