Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   вытащить значение переменной из функции (http://www.flasher.ru/forum/showthread.php?t=140205)

КорДум 23.05.2010 19:39

Нельзя, но почему бы вам не сделать пустую бубликовую пабликовую переменную, внутри функции присваивать ей значение?

Добавлено через 11 минут
Тем более, что у вас почти так, как нужно, просто перенести nextsession = next; внутрь функции.

HotIceCream 23.05.2010 19:59

не очень понял как вы вообще используете класс Timer ... ну да ладно.
Проблема в том, что действия выполняются в следующем порядке:
1)Вы создаете объект Timer , в нем вещаются слушатели ваши и отправляется запрос на сервер.
2) пока запрос идет, вы в таймлайнет обрабатываете свойство nextsession объекта Timer, которое еще не определено.
3) от сервера приходит ответ, и nextsession становится равной тому чему нужно, но уже поздно :(

Выход - в таймлайне создать функцию, которая будет обрабатывать nextsession
передать эту функцию в качетстве параметра в Timer и в функции onGetTime вызывать ее.

ps как то неудачно назван класс - все таки существует стандатный класс с таким же именем.

КорДум 23.05.2010 20:03

А еще лучше не писать в кадрах, а вынести все в классы и переделать структуру логики кода.

Anti 23.05.2010 20:05

Цитата:

Сообщение от КорДум (Сообщение 910411)
Нельзя, но почему бы вам не сделать пустую бубликовую пабликовую переменную, внутри функции присваивать ей значение?

Добавлено через 11 минут
Тем более, что у вас почти так, как нужно, просто перенести nextsession = next; внутрь функции.

интересно, а как?
если я пишу
Код AS3:

public function onGetTime(t:String) {
next1 = new Date(t);
var ed:TextField=evendate;
public var nextsession=next1;
ed.text+=new Date(t);
trace('', t);
trace('', next1);
return next1;
}

1114: The public attribute can only be used inside a package.
а по другому я не знаю как.

КорДум 23.05.2010 20:08

Вообще-то локальные переменные не могут иметь модификаторов доступа. Следовательно, нужно вынести за пределы функции объявление переменной. И ретурн там не нужен.

Добавлено через 1 минуту
Код AS3:

public var nextsession:Date;
public function onGetTime(t:String) {
        var next1:Date = new Date(t);
        var ed:TextField = evendate;
        ed.text += new Date(t);
        nextsession = next1;
        trace('', t);
        trace('', next1);
}


Anti 23.05.2010 20:38

в общем попробую убрать весь код с таймлайн.


Часовой пояс GMT +4, время: 22:38.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.