![]() |
Правильно обработать IOErrorEvent, чтоб замолчал
Как правильно обработать ошибку IOErrorEvent? У меня если картинка не найдена, то просто подставляется текст в кнопке, но постоянно вылазит ошибка, что IOErrorEvent не обрабоан.
Код AS3:
Код:
Error #2044: Необработанный IOErrorEvent:. text=Error #2035: URL-адрес не обнаружен. |
Единственная неточность, которую я здесь наблюдаю, это то что вы слушателем события SecurityErrorEvent.SECURITY_ERROR задаете функцию, параметром которой выступает переменная IOErrorEvent. Может в этом дело? А вот эта строчка выполняется?
Код AS3:
P.S. ""Сюда он программа" – это да. |
Тоже думаю, что дело в отписках по одному событию от всех скопом.
|
Всё работает, текст меняется, дальше трейсится, но выскакивает ошибка.
Добавил функци, чтоб обрабатывала SecurityErrorEvent. Да, верно. Закоментировал removeEventListener-ы и всё прошло ) А как же быть. Отписаться-то надо бы. Ругается на Код AS3:
Код:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". |
У вас loader локален для loadImg. Удалите там объявление и используйте глобальный лоадер (к которому обращение в errorHandler).
|
Цитата:
Цитата:
|
Код AS3:
Цитата:
|
Цитата:
Просто Ваш вопрос упрямо намекает на весьма распространенное заблуждение "слышал звон..." про удаление листенеров перед удалением объекта. Что такое object.addEventListener(event, handler)? Вы отдаете object'у ссылку на метод handler. И когда случится event, object просто вызовет этот метод handler, передав ему в параметр event. Но handler расположен не в object, а в другом месте (обычно в this, т.е. можно было бы писать this.handler. Таким образом, мы отдаем в object ссылку на this. Это означает, что пока жив object, мы не можем скормить GC this (владельца handler) — на него имеется ссылка. Но это никаким образом не мешает нам удалить object. Это часто путают. |
Код AS3:
|
Если честно, я ничего не понял. Что такое Прж, и почему дальше Button, если это класс, загружающий картинк(у || и).. А дальше не настолько понятно, что происходит, чтобы критиковать. Единственное, неясно зачем было выносить initButton и onStageOk в два метода, а вот отписку от листенеров методично набивать несколько раз, вместо того чтобы вынести в метод removeListeners.. Зачем Request называется с большой, и что это за игры разума с prjNum и filePath.. Зачем вообще КНОПКА (если конечно это кнопка, не нашел мышиных событий в ней О__о) занимается загрузкой картинок, да еще и сама сочиняет, каких и откуда? И почему размеры какие-то жестко зашиты в коде..
Объясните контекст, в котором это чудо функционирует, любопытный механизм... |
| Часовой пояс GMT +4, время: 22:51. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.