Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   1034 ошибка, хотя диспатчу обычный евент (http://www.flasher.ru/forum/showthread.php?t=179286)

FriOne 11.05.2012 15:20

1034 ошибка, хотя диспатчу обычный евент
 
dispatchEvent выдает 1034 ошибку в слушателе события старлинга, такая хрень:
Код:

TypeError: Error #1034: Type Coercion failed: cannot convert flash.events::Event@4d30cf11 to events.FieldEvent.
Использую обычный Event, не могу понять в чем косяк, использую FB, код такой:
Код AS3:

...
_field.addEventListener(FieldEvent.BOX_MOVE, fieldBoxMoveHandler);
...
private function fieldBoxMoveHandler(e:FieldEvent):void
{
        dispatchEvent(new Event(Event.ADDED));
}

Подскажите, что не то делаю.

Aquahawk 11.05.2012 15:27

вам приходит обычный Event а вы пытаетесь его привести к FieldEvent естественно всё падает. Предки не приводятся к наследникам. А вот наследники приводятся к предкам. Вы пытаетесь предка к неследнику приводить.
Код AS3:

private function fieldBoxMoveHandler(e:Event):void


FriOne 11.05.2012 15:30

В том то и дело, что приходит FieldEvent,
ошибка выдается именно при dispatchEvent,
если его закомментировать ошибки нет.

Добавлено через 44 секунды
Если поставить Event, то уже будет жаловаться, что я FieldEvent привожу к Event,
надо было так вставить:
Код:

TypeError: Error #1034: Type Coercion failed: cannot convert flash.events::Event@4d30cf11 to events.FieldEvent.
        at flash.events::EventDispatcher/dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()
...


elder_Nosferatu 11.05.2012 15:34

Цитата:

Сообщение от Aquahawk (Сообщение 1079059)
вам приходит обычный Event...

А откуда вы знаете, что ему приходит? Обработчик подписан на событие своего класса, а тот дисптч, что внутри него вообще летит кудато (не важно куда, но не в этот обработчик)

Добавлено через 2 минуты
2FriOne
Создайте кастомное событие вместо Event.ADDED. И у меня когдато была проблемма с использованием флешовых событий для личных нужд.

FriOne 11.05.2012 15:44

Спасибо, и вправду помогло, чеж за хрень то такая непонятная, откуда он взял там FieldEvent..


Часовой пояс GMT +4, время: 18:54.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.