Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   программная пауза не занимая арифметки для event`a... (http://www.flasher.ru/forum/showthread.php?t=110469)

Bagroff 03.04.2008 13:34

программная пауза не занимая арифметки для event`a...
 
Нужно изобразить программную паузу не "занимая" арифметику... т.е. чтобы сквозь паузу мог прорваться event к своему eventListner`y и сделать что нужно :)...

Смысл в том, что есть customRemoteObject от RemoteObject, в котором override flash_proxy function callProperty... вот там. нужно сделать ожидание, если ещё он занят чем-то предыдущим...

f.e.
Дергаем два, соответсвенно, нативных метода.
ro.method1();
ro.method2();

method2 нельзя дергать пока method1 не получиться или не сломается что-то...

с Timer`ом не получается что-то велосипеда.

Реально вообще сие?

BlooDHounD 03.04.2008 13:46

почём такая трава?

Bagroff 03.04.2008 13:55

хе, что именно в моем посте ганджубас? ;)

Асинхронность в данном случае противопоказана удаленной логике. Поэтому, нужен велосипед.

etc 03.04.2008 14:30

Ганджубас у вас весь пост, совершенно очевидно. Особенно вставляет, когда читаешь вслух.

Bagroff 03.04.2008 14:35

Господа, а к сути...?
Сам дурак, это конечно хорошо, очень желательно - почему.
И что плохого в необходимости синхронного RPC?

BlooDHounD 03.04.2008 14:44

как я понимаю, вас ещё не отпустило.
из понятных фраз могу выделить "синхронного RPC", что по сути всё равно является бредом.

etc 03.04.2008 14:44

Прекратите разговаривать с флешем, он на вас дурно влияет.
Внятно опишите проблему, если сможете, конечно.

Bagroff 03.04.2008 14:57

Клиент
- Flex app
- AMF3
- RemoteObject

Сервер
- PHP
- Класс с двумя методами method1, method2
- method1 - делает 1+1 и сохраняет в базе.
- method2 - берет из базы значение где должен быть результат 1+1 и прибавляет 10.

Средствами RemoteObject делаем вызовы:

var ro: RemoteObject = new RemoteObject('MyDestination');
ro.source = 'My.Class';
ro.addEventListner(...);
...
ro.method1();
ro.method2();

Методы выполняются асинхронно... Результатом будем event упавший как снег на голову.

И совсем не факт, что метод2 на сервере выполнится за методом1 и сохранится логика.

Нужны синхронные вызовы. Пришел результат от первого, вызвали второй и т.п.

Старался.

etc 03.04.2008 15:00

Перепишите RemoteObject, все вызваные методы ставьте в очередь и по подтверждению сервера выполняйте следующий метод.

з.Ы. Лучше бы постарались сразу.

ulik 04.04.2008 14:26

Я вам пример приведу:
Есть класс Alarm. У него есть set метод setAlarm(hh:Number,mm:number).
и есть класс AlarmEvent.
Ситуция похожа - мы хотим после наступления события (звонок будильника) что-то сделать. И что же мы делаем? А мы вешаем евент и ждем пока будильник зазвонит и потом выполняем свои операции.


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

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