PDA

Просмотр полной версии : Доступ из из модуля к главному приложению


xjack
08.05.2009, 13:30
Решил вынести в отдельный топик. Вопрос нетривиальный - возможно ли из подгружаемых модулей достучаться до методов родительского приложения? Собственно смысл сего в том чтобы в момент срабатывания таймера в модуле вызвать метод основного приложения. Буду благодарен за предложенные решения, т к в интернете найти информацию будет нелегко.

GBee
08.05.2009, 14:53
События?

xjack
08.05.2009, 15:28
Поподробнее, пожалуйста. Какие именно события использовать и где?

GBee
08.05.2009, 16:07
Видимо свои, модуль диспатчит, родитель ловит и решает, что запускать по конкретному событию.

xjack
19.05.2009, 13:43
В общем переформулирую свой вопрос - ключевое слово тут single tone, возможно ли реализовать его для главного модуля приложения, т е чтобы во всех модулях была ссылочка на объект главного модуля, что-то вроде Loader.getInstance().myMethod(), где Loader - главный mxml модуль?

GBee
19.05.2009, 14:24
А как же события? :о(

DCH
17.06.2009, 20:01
parentApplication.yourMethod()
2Felicast
Не просто плохо, но отвратительно. Я просто ответил на вопрос - вот ссылка на предка. У меня уже давно все между собой событиями обменивается :)
2xjack в предке можно подписаться на событие объекта
yourObj.addEventListener("blahEvent",blahHandler);
private function blahHandler(event:Event): void
{
yourParentMethod(event.target) //event.target ссылка на объект породивший событие, таким //образом передаются свойства
}
и породить его в момент срабатывания таймера в yourObj:
var e:event = new Event("blahEvent");
dispatchEvent(e);

Felicast
18.06.2009, 23:11
присоединяюсь к GBee: события - самый верный вариант
parentApplication.yourMethod()
с точки зрения проектирования это плохо!