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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.03.2010, 16:25
treety вне форума Посмотреть профиль Отправить личное сообщение для treety Посетить домашнюю страницу treety Найти все сообщения от treety
  № 1  
Ответить с цитированием
treety
 
Аватар для treety

Регистрация: Aug 2003
Адрес: 60
Сообщений: 41
Записей в блоге: 1
Отправить сообщение для treety с помощью ICQ Отправить сообщение для treety с помощью AIM Отправить сообщение для treety с помощью Yahoo Отправить сообщение для treety с помощью Skype™
Question Как организовать класс возвращающий результат обработки

на форуме даже не знаю как искать
возможно обсуждалось
буду рад ссылкам на соответствующие темы
или ключевым словам для поиска

задача такая
нужно загрузить некий файлик (формат не имеет значения)
с помощью соответствующего класса
в этом же классе произвести какие либо действия
и вернуть результат с подтверждением окончания обработки

как это сделать?
__________________
treety

Старый 16.03.2010, 16:32
GentleFLASH вне форума Посмотреть профиль Отправить личное сообщение для GentleFLASH Найти все сообщения от GentleFLASH
  № 2  
Ответить с цитированием
GentleFLASH

Регистрация: Apr 2009
Сообщений: 117
событиями

Старый 16.03.2010, 16:33
Партизан вне форума Посмотреть профиль Отправить личное сообщение для Партизан Найти все сообщения от Партизан
  № 3  
Ответить с цитированием
Партизан
 
Аватар для Партизан

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Можно начать здесь читать.

Старый 16.03.2010, 16:41
treety вне форума Посмотреть профиль Отправить личное сообщение для treety Посетить домашнюю страницу treety Найти все сообщения от treety
  № 4  
Ответить с цитированием
treety
 
Аватар для treety

Регистрация: Aug 2003
Адрес: 60
Сообщений: 41
Записей в блоге: 1
Отправить сообщение для treety с помощью ICQ Отправить сообщение для treety с помощью AIM Отправить сообщение для treety с помощью Yahoo Отправить сообщение для treety с помощью Skype™
Цитата:
Сообщение от Партизан Посмотреть сообщение
Можно начать здесь читать.
спасибо за ёмкий ответ
я знаю что вы все умные =)
...

Добавлено через 3 минуты
Цитата:
Сообщение от GentleFLASH Посмотреть сообщение
событиями
эт да
но мнебы схемку как это организовать

Добавлено через 6 минут
..просто не до конца понимаю принцип работы событий
в том числе что они могут и не могут
а если не могут то как сделать так чтобы они смогли =)
__________________
treety

Старый 16.03.2010, 21:41
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 5  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Все как всегда зависит от деталей задачи
Начинаем с простого:
- делаем класс задачи Вашему классу:
Код AS3:
class Task
{
     public function new(url:String)// Урл чего Вы там грузите и может еще некоторые нужные данные для обработки запроса
     public function get url():String;
     public var result:ResultType;//Какого там типа результат нужно получить
     pulbic var callback:Function;
}
Делаем обработчик (это тот самый класс, про который спрашиваете как организовать), для начала покатит статический:

Код AS3:
class TaskExecutor
{
     private static var _task:Task;
     public static function execute(task:Task)
     {
          _task = task;
           ....
           //запускаем асинхронные процесы - загрузку и т.д. и т.п.
           _loader.load(new UrlRequest(task.url))
            ....
      }
 
      private static function onLoad(event:Event):void
      {
              //все что надо загрузили, результат получили, делаем так:
             _task.result = result;
             _task.callback(task);
      }
}
Как использовать:

Код AS3:
    var task = new Task('мой URL');
    task.callback = onComplete;
    TaskExecutor.execute(task);
 
private function onComplete(task:Task):void
{
     var reslut = task.result// Ура! Мы дождались результата!
}
Ну а дальше, если потребуется обрабатывать несколько запросов - организуем очередь, потом очередь с приоритетом, обработку ошибок и т.д. и т.п.

И да, если о завершении обработки задания должно быть оповещено несколько объектов - наследуем Task от EventDispatcher и работаем не с колбеками, а событиями


Последний раз редактировалось expl; 16.03.2010 в 21:47.
Старый 16.03.2010, 21:55
treety вне форума Посмотреть профиль Отправить личное сообщение для treety Посетить домашнюю страницу treety Найти все сообщения от treety
  № 6  
Ответить с цитированием
treety
 
Аватар для treety

Регистрация: Aug 2003
Адрес: 60
Сообщений: 41
Записей в блоге: 1
Отправить сообщение для treety с помощью ICQ Отправить сообщение для treety с помощью AIM Отправить сообщение для treety с помощью Yahoo Отправить сообщение для treety с помощью Skype™
отлично!
спасибо большое!!
на первый взгляд - то что нужно
завтра буду тестить

Добавлено через 19 часов 6 минут
вспоткнулся на этом
немного не понимаю принцыпа
Код AS3:
class Task
{
     public function new(url:String)// <-- 
                        //1084: Syntax error: expecting identifier before new.
     public function get url():String;// <-- непонятны эти две строка
                        //1084: Syntax error: expecting leftparen before public.
     public var result:ResultType;
     public var callback:Function;
}
__________________
treety

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

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

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


 


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


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