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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.01.2011, 20:59
deman455 вне форума Посмотреть профиль Отправить личное сообщение для deman455 Найти все сообщения от deman455
  № 1  
Ответить с цитированием
deman455
[+1 25.04.11]

Регистрация: Nov 2009
Сообщений: 481
Отправить сообщение для deman455 с помощью ICQ
Attention Функция<// загрузки php. Задержка выполнения кода.

Возник не большой вопрос, на счет функции в которой выполняется загрузка php.

К примеру, сама функция вызова php:
Код AS1/AS2:
function save(info){
        var send:LoadVars = new LoadVars();
        var result:LoadVars = new LoadVars();
        result.onLoad = function(success) {
            if (success) {
                   trace('load ok');
                   return 1;
            }
        }
        send.uid = 1234;
        send.score = info; 
        send.sendAndLoad("site.ru/save.php?", result, 'GET');
    }
А вот сама программа и, собственно, вопрос:

Код AS1/AS2:
trace(1);
save(2);
trace(3);
/*Дебагер: 
1
3
load ok*/
Вопрос заключается в том, что бы остановить выполнение главного кода во время того как функция загружает информацию от сервера. Сама функция не статическая. Т.е. это полностью динамическая функция, любой параметр и его название, можно будет менять, в том числе и адрес куда посылка идет. Что бы не делать множество копий посылки, хотелось бы сделать одну функцию, но столкнулся с этой проблемой.

Старый 24.01.2011, 21:10
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
остановить выполнение главного кода
Это не возможно. Загрузка происходит асинхронно выполнению кода. Надо по другому реализовывать логику выполнения кода, бить его на блоки:
import mx.utils.Delegate;
Код AS1/AS2:
function save(info) {
	var send:LoadVars = new LoadVars();
	var result:LoadVars = new LoadVars();
	result.onLoad = Delegate.create (this, onLoadData);
	send.uid = 1234;
	send.score = info;
	send.sendAndLoad("site.ru/save.php?", result, 'GET');
}
function init() {
	trace(1);
	save(2);
}
function next() {
	trace(3);
}
function onLoadData(success) {
	if (success) {
		trace('load ok');
		next();
	}
}
init();
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:20.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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