![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Aug 2009
Сообщений: 75
|
К примеру надо передать переменную strIn и получить strOut.
Куда правильно вставить strIn и strOut в этот код? |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Обработчик не должен возвращать никаких значений.
|
|
|||||
|
Регистрация: Aug 2009
Сообщений: 75
|
А как тогда сделать возвращение значения из функции загрузки xml-файла?
К примеру Class1 вызывает функцию loadXML из Class2. Мне надо присвоить надписи кнопкам в классе Class1 из данных XML. Неужели данные придётся передавать через глобальные переменные? |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
А КОГДА Вы собираетесь присваивать кнопкам надписи? Надеюсь, ПОСЛЕ того, как XMLка загрузится? Вот этим и должен заниматься обработчик. Разбор XML должен быть либо в коде самого обработчика, либо в другой функции, вызываемой из обработчика, возможно с передачей ей XML как параметра вызова, если не хотите хранить данные в приватной переменной.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Oct 2009
Адрес: Калининград
Сообщений: 134
|
Лисенер значение не вернет
Можно сделать обработчик в Class1 на class2.loader и в нем установить заголовки кнопок. Можно в обработчике в Class2 сделать нечто подобное: Немного через задницу, конечно, но по-моему лучше, чем через глобальные переменные класса Class2
__________________
Жду ответа, как соловей лета. (С) Морис Мосс, 'IT Crowd' |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 75
|
Обработчик вызывается из функции загрузки ХМЛ, конечно же после.
Обработчик находится в том же классе что и загрузчик. Но мне надо передать значение в главный класс, из которого вызывается загрузчик. А из загрузчика вызывается обработчик. Порядок вызова ф-ий таков: "Главный класс" => "ф-ия загрузчик" => "ф-ия обработчик" Т.е. в обратном порядке надо получить значения. В загрузчик передаю аргумент просто: строка = функция(аргумент). А как получить значение, если функция является обработчиком события? |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
1. Подписать "главный класс" на событие.
2. Если не нужен никак обработчик в главном, то делать разбор в Вашем обработчике и по окончании в нем же диспатчить еще одно событие, ну скажем "parse_complete", на которое подписать "главный класс". Но тогда придется либо написать свое событие, содержащее данные, которые надо передать, либо придется таки завести переменную во втором классе, откуда главный сможет забрать данные, когда они будут готовы. Все просто)))
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 75
|
Понятно, спасибо всем. Буду делать слушатель в главном классе и из него вызывать обработчик и получать значение.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 14:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|