![]() |
Как изменить значение текстового поля (mxml-файл) из класса (as-файл) по событию?
Доброго времени суток, друзья.
Только начал разбираться с флэшем, поэтому, пожалуйста отнеситесь с пониманием и не бейте больно ) Помогите разобраться в ситуации. У меня есть класс, созданный в отдельном файле as. Внутри этого класса создаётся таймер, срабатывание которого я отлавливаю. Есть также интерфейс, задизайненный в mxml-файле. Я хочу по таймеру объекта вышеобозначенного класса изменять значение текстового поля на интерфейсе. Проблема в том, что я не знаю, каким образом из as-файла обратиться к конкретному элементу интерфейса. Я могу передать его в конструктор класса var QGE:QGEng = new QGEng(log); log - это TextArea но не могу передать в обработчик события timer.addEventListener(TimerEvent.TIMER, onTimer); вот если бы можно было в вызов onTimer передать параметры, то было бы супер. Но как я понимаю этого сделать нельзя. Или можно каким-то способом, которого я не знаю. Помогите разобраться, пожалуйста. |
таймер у вас в классе QGEng? тогда в конструкторе запишите ссылку на log в свойство класса, в обработчике onTimer() тогда будет доступ к log.
или лучше таймером дистапчить событие, а которое будет подписан ваш mxml компонент. таким образом их связь не такая неразрывная получится. вдруг по таймеру не только одно поле надо будет изменять, да? |
а каким образом передавать log по ссылке?
если я присваиваю свойству класса log вот таким образом: txt:TextArea = log, txt - свойство класса QGEng. а потом пытаюсь изменить txt.text, то он ругается Error #1009: Cannot access a property or method of a null object reference. А как подписать mxml компонент в событие таймера? |
Цитата:
Цитата:
|
не надо ничего передавать...читайте про data binding
[Bindable] а также про singleton |
Да, можно через Бинд делать:
Основное: Код:
<?xml version="1.0" encoding="utf-8"?>Код:
package{ |
спасибо за советы.
заработало при помощи связывания свойств классов. про singleton начал читать, почти сломал себе мозг и решил оставить на потом :) |
А синглтон зачем, есть же BindingUtils.
|
CrazyFlasher советовал почитать про него.
Но, насколько я понял, синглон это не про то, что мне надо. |
singleton это на будущее...полезная вещь...здесь достаточно ознакомится с data binding
|
| Часовой пояс GMT +4, время: 23:30. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.