![]() |
Порядок выполнения функций
взял пример с чтением текстового файла через 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, поскольку результат появляется уже после выполнения всей программы :(( как с этим бороться ? |
Re: Порядок выполнения функций
... все так и есть, сначала "111", потом "222", так как textSource.load(fileName); дает команду грузить файл, а textSource.onLoad сработет только когда поступят данные, если тебе нада что-то впихнуть между трейсами - переписывай load ...
|
никак
Дык, данные из файла берутся.
должны сразу поступать. пробовал делать после load while(data=="") {} //do nothing виснет в бесконечный цикл если вызов функции на кнопке в on(click) а проверка данных on(release) - работает если вызов в одном кадре а результат в другом кадре мувика (например в 100ом!) - данные пустые :(( похоже, функция запускается в параллельном процессе и данные поступают только когда происходит ожидание ввода пользователя Idle Loop или что-то в этом роде. может быть, как-то можно в том бесконечном цикле вместо do_nothing как-то заставить винду продышаться и выполнить-таки функцию типа Refresh какой-нибудь.... |
оххх... сколько же раз это уже было...
например смотри первые четыре поста (потом пошел классический флуд имени лехаса и балтики :)) ) ты пропустил ожидание загрузки. онЛоад там неспроста сделан - абсолютно неизвестно сколько именно времени пройдет до полной загрузки данных |
| Часовой пояс GMT +4, время: 15:22. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.