|
|
|||||
Регистрация: Jun 2010
Сообщений: 189
|
Не проходит dispatchEvent
Функция recordParser вызывается в процессе, работает, должна вызвать dispatchEvent и передать его в ControllerPenguin. Но этого не происходит.
package { import flash.events.Event; import flash.events.EventDispatcher; public class Model5pinguin extends EventDispatcher { public static const INPUT_RECORD:String = "inputRec"; public function Model5pinguin() { } public function recordParser(recordNew : int, textName : String) : void { trace ("newRecord "); this.dispatchEvent(new Event(Model5pinguin.INPUT_RECORD)); } } } package { import flash.events.MouseEvent; import flash.events.Event; import flash.display.Sprite; public class ControllerPenguin extends Sprite { private var data5:Model5pinguin; public function ControllerPenguin() { data5 = new Model5pinguin(); data5.addEventListener(Model5pinguin.INPUT_RECORD, recordGeschrieben); } private function recordGeschrieben(event : Model5pinguin) : void { // ...................................... } Последний раз редактировалось Nemez; 24.03.2011 в 11:47. |
|
|||||
Регистрация: Sep 2009
Сообщений: 65
|
Вы создаете событие Event, а слушаете событие Model5pinguin.INPUT_RECORD
Может так? Последний раз редактировалось Idon; 23.03.2011 в 21:29. |
|
|||||
Регистрация: Jun 2010
Сообщений: 189
|
нет, не идет.
|
|
|||||
Регистрация: Sep 2009
Сообщений: 65
|
Вообще, правильней было бы сделать свой класс событий:
public class Model5pinguinEvent extends Event { public static const INPUT_RECORD:String = "inputRec"; public function Model5pinguinEvent( event_type:String, bubbles:Boolean = false, cancelable:Boolean = false ) { super( event_type, bubbles, cancelable ) } } и слушать: data5.addEventListener(Model5pinguinEvent.INPUT_RECORD, recordGeschrieben); private function recordGeschrieben(event : Model5pinguinEvent) : void { // ...................................... } У вас еще ошибка: в методе public function recordParser(recordNew : int, textName : String) : void { trace ("newRecord " + newRecord); this.dispatchEvent(new Event(Model5pinguin.INPUT_RECORD)); } Не понятно, почему у вас компилятор не ругается на эту ошибку. Как собственно и в случае с private function recordGeschrieben(event : Model5pinguin) : void { } где компилятор должен бросить ошибку о невозможности преобразования Event в Model5pinguin |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Idon, свои события хотя бы в порядок приведите.
|
|
|||||
Регистрация: Jun 2010
Сообщений: 189
|
Таки никто не поможет?
private function recordGeschrieben(event : Event) уже менял, предыдущий вариант (event : Model5pinguin) выдал FDT. Последний раз редактировалось Nemez; 24.03.2011 в 11:52. |
|
|||||
Регистрация: Nov 2010
Сообщений: 21
|
Приемник события по-любому с параметром типа Event нужно прописывать.
Вы знаете попробовал ваш код с изменением типа события в применике и все работает. |
|
|||||
Регистрация: Jun 2010
Сообщений: 189
|
Оказалось, евент идет по другой ветке. C изменением типа события в применике все сработало.
Последний раз редактировалось Nemez; 24.03.2011 в 13:39. |
|
|||||
Регистрация: Sep 2009
Сообщений: 65
|
etc, поясните.
|
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Idon, у вас не описан clone(), никакого совпадения названия параметров с родительским классом, неправильно значение статической константы заодно.
|
Часовой пояс GMT +4, время: 17:47. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|