Просмотр полной версии : Значение метода
Добавлено через 24 часа 43 минуты
Еще вопрос по этой теме.
Есть метод загрузки XML xmlAnswer, с описанными для него обработчиками. В обработчике происходит некоторая функция по записи переменной в память.
Как-то можно сделать рабочей конструкцию типа:
var answered:String = xmlAnswer(getVariable(120,id));
чтобы по запуску этого события в переменную answered попадало строковое значение загруженных из ХМЛ данных?
Естественно что xmlAnswer функция типа void
сделать эту функцию :String
public function xmlAnswer(request:String, type:String):void {
var urlRequest: URLRequest = new URLRequest(request);
var urlLoader: URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, var_put);
try {
urlLoader.load(urlRequest);
} catch (error:Error) {
}
}
Ведь эта моя функция ничего не возвратит если ей тип поменять? Действие-то происходит в обработчике, который описан отдельной функцией.
Может я конечно затупил, недавно начал только разбираться. Буду признателен за разъяснение.
Никак. Используйте события либо callback-функцию. Но лучше события.
Ок, пасиб тут что-нить попробую, а вот теперь другая проблема:
public function var_check(event: Event):void { //Обработчик события, загружающего хмл
...
welcome.but.addEventListener(MouseEvent.CLICK, get_vote);
...
}
public function get_vote():void {
trace('click but');
}
Так вот обработчик get_vote не запускается. А если в welcome.but.addEventListener(MouseEvent.CLICK, get_vote); вместо get_vote прописать уже сам метод (типа function ()...), то оно срабатывает.
Как быть? Хотелось бы метод отдельно прописать, а то при выравнивании кода, все портится, и ошибки лезут.
cleptoman
30.11.2009, 12:55
public function get_vote(event:MouseEvent):void {
trace('click but');
}
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.