Показать сообщение отдельно
Старый 19.09.2013, 23:40
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 21  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Верно. В начале процедуры диспатча фиксируем topmost на значении длины списка, текущий -- на нуле. Если будут добавляться, topmost не изменяется, если будут удаляться, то если ниже topmost, его уменьшаем на единицу, а если и ниже текущего, то уменьшаем текущий.

Приведенный вами пример с удалением соответствует природе нативного EventDispatcher. Проведите минимальные тесты и убедитесь в этом. Например, удаление слушателя ENTER_FRAME с бОльшим индексом во время выполнения слушателя с меньшим индексом, первый при этом не должен сработать, если я правильно понял вашу мысль.

А вот о последнем вопросе я даже как-то и не задумывался. Спасибо, что подкинули такую мысль.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.