Не удается отправить событие из модели - PullRequest
0 голосов
/ 08 ноября 2011

используя robotlegs я всегда получаю эту ошибку. Я понятия не имею, что не так.

TypeError: Ошибка # 1009: невозможно получить доступ к свойству или методу с нулевым значением ссылка на объект. на org.robotlegs.mvcs :: Actor / dispatch () [/ Users / shaun / Documents / Разработка / Workspaces / GanymedeFB4 / robotlegs-основа / SRC / орг / robotlegs / MVCS / Actor.as: 57] * * +1004

Модель

package com.something.model {
    // someimports
    public class PhotoModel extends Actor {

        public function uploadAndDetect() : void {  
            // something        
            dispatch(new DetectEvent(DetectEvent.DETECTED));                
        }

    }
}

Событие

package com.something.events {
    // someimports

    public class DetectEvent extends Event {
        public static const DETECTED : String = "DETECTED";


        public function DetectEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false){
            super(type, bubbles, cancelable);
        }

        override public function clone():Event{
            return new DetectEvent(type, bubbles, cancelable);
        }
    }
}

Ответы [ 2 ]

2 голосов
/ 08 ноября 2011

Я не могу читать по-немецки достаточно хорошо, чтобы быть уверенным, но я подозреваю, что проблема заключается в том, что ваша Модель не внедряется с шиной событий (IEventDispatcher разделяет почти все, с чем робототегам нужно общаться).

Как ты это делаешь? Вы запускаете это из юнит-теста? Если это так, вам нужно установить eventDispatcher в вашей модели. Если нет, вам нужно использовать mapClass, mapSingleton или mapSingletonOf, чтобы убедиться, что ваша Модель будет создана с учетом того, что нужно для работы в качестве актера.

0 голосов
/ 04 апреля 2012

Когда и где создается Модель? Могу поспорить, что вы не вводите его зависимости. Модель должна быть создана в Команде и использовать:

var model: PhotoModel = new PhotoModel();
injector.injectInto(model);

И затем должен быть введен eventDispatcher (единственная зависимость Actor).

...