|
|
|||||
[+1 28.12.10]
[+1 29.12.10] Регистрация: Aug 2006
Сообщений: 107
|
не приводится к типу
Здравствуйте.
Странную вещь заметил. Вроде даже решил. Но не понятно действительно ли так должно быть. И так Есть событие public class IPEvent extends Event { public var obj:Object; public static var onIPEvent:String = "IPEvent_txt"; public function IPEvent(newobj:Object = null) { super(onIPEvent); obj = newobj; } } И есть три класса. В первом классе вызывается Во втором классе someobj.addEventListener(IPEvent.onIPEvent, taskEventHappen); public function taskEventHappen(e:IPEvent) { .............. if (.......) { dispatchEvent(e); } } exp.addEventListener(IPEvent.onIPEvent, onIPEventAction); public function onIPEventAction(event1:Event) { trace("onIPEventAction " + event1); var event:IPEvent=IPEvent(event1); } taskEventHappen [Event type="IPEvent_txt" bubbles=false cancelable=false eventPhase=2] onIPEventAction [Event type="IPEvent_txt" bubbles=false cancelable=false eventPhase=2] TypeError: Error #1034: Type Coercion failed: cannot convert flash.events::Event@f4fde21 to iconpane.IPEvent. Подскажите что я делаю не правильно? Зачем приходится пересоздавать события? Последний раз редактировалось passertm; 07.02.2011 в 15:17. |
|
|||||
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Event не имплементит ваш IPEvent интерфейс. Да и не приводите вы, а конвертируете.
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
[+1 28.12.10]
[+1 29.12.10] Регистрация: Aug 2006
Сообщений: 107
|
а почему если dispatchEvent вызывался с обьектом класса IPEvent?
вы уверены? что то я сильно сомневаюсь... |
|
|||||
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Цитата:
Я без понятия откуда там берется обычный Event, весь код вы не привели. Цитата:
Вообще приводят типы с помощью оператора "as".
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
event1 as IPEvent
Event#bubbles возможно, что-то из этого вам поможет )
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Не описан clone().
|
|
|||||
[+1 28.12.10]
[+1 29.12.10] Регистрация: Aug 2006
Сообщений: 107
|
ой. Извиняюсь. видимо случайно задел когда убирал не нужный код.
Так там больше ниего и нету что могло бы на это повлиять. Цитата:
В случае когда это оканчивается неудачой делается попытка конвертацииодного класса в другой при помоши стандартных функций(на пример toString()). Поэтому ипишется в сообшении что не удается конвертировать. Хотя если бы передавался действительно IPEvent никаких проблем не возникало и нормально приводилось(!) бы к типу. Хотя возможно я ошибаюсь. Вы действительно правы. Я не сразу понял в чем дело. Так как я не клонирую данный обьект и не реализую клонирование для данного класса это делает за меня dispatchEvent. он использует функцию clone() описанную в Event, которая возврашает Event. Вот откуда появляется обьект event. Спасибо за подсказку. и потраченное время. |
Часовой пояс GMT +4, время: 12:47. |
|
« Предыдущая тема | Следующая тема » |
|
|