Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 19.02.2003, 17:34
Ondyon вне форума Посмотреть профиль Отправить личное сообщение для Ondyon Найти все сообщения от Ondyon
  № 1  
Ondyon

Регистрация: Feb 2003
Сообщений: 2
По умолчанию Порядок выполнения функций

взял пример с чтением текстового файла через XML
проблема:
результат выполнения функции почему-то появляется
не сразу после ее выполнения а через неопределенное время
(точнее, когда выполнится хотя бы один Idle loop Windows)

#include "ldtxt.as" // взято с flasher.ru (attached)

function LoadText(fileName, textvar) {
textSource = new TextFile(true);
textSource.onLoad = function(ok) {
if (ok) {
set(textvar, this.content);
trace("in load");
} else {
set(textvar, "error loading file "+fileName);
}
};
trace("111");
textSource.load(fileName);
trace("222");
}

так вот, сначала печатается 111 потом 222
потом еще куча всего из разных кадров разных мувиков,
и только потом trace("in load").
при этом я не могу использовать результат
функции LoadText, поскольку результат
появляется уже после выполнения всей программы :((

как с этим бороться ?

Старый 19.02.2003, 17:58
llllllllll вне форума Посмотреть профиль Отправить личное сообщение для llllllllll Найти все сообщения от llllllllll
  № 2  
llllllllll

Регистрация: Feb 2001
Сообщений: 1,893
По умолчанию Re: Порядок выполнения функций

... все так и есть, сначала "111", потом "222", так как textSource.load(fileName); дает команду грузить файл, а textSource.onLoad сработет только когда поступят данные, если тебе нада что-то впихнуть между трейсами - переписывай load ...

Старый 19.02.2003, 19:51
Ondyon вне форума Посмотреть профиль Отправить личное сообщение для Ondyon Найти все сообщения от Ondyon
  № 3  
Ondyon

Регистрация: Feb 2003
Сообщений: 2
По умолчанию никак

Дык, данные из файла берутся.
должны сразу поступать.

пробовал делать после load
while(data=="") {} //do nothing
виснет в бесконечный цикл

если вызов функции на кнопке в on(click)
а проверка данных on(release) - работает

если вызов в одном кадре
а результат в другом кадре мувика (например в 100ом!)
- данные пустые (
похоже, функция запускается
в параллельном процессе и
данные поступают только
когда происходит ожидание
ввода пользователя Idle Loop или что-то в этом роде.

может быть, как-то можно в том бесконечном
цикле вместо do_nothing как-то заставить винду
продышаться и выполнить-таки функцию
типа Refresh какой-нибудь....

Старый 19.02.2003, 22:21
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 4  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
оххх... сколько же раз это уже было...

например
смотри первые четыре поста
(потом пошел классический флуд имени лехаса и балтики :)) )

ты пропустил ожидание загрузки.
онЛоад там неспроста сделан -
абсолютно неизвестно сколько именно времени пройдет до полной загрузки данных


Последний раз редактировалось Nox Noctis; 19.02.2003 в 22:24.
Создать новую тему   Часовой пояс GMT +4, время: 13:40.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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