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

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

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

Регистрация: Feb 2011
Сообщений: 9
Question Timer и FileReference

При выполнении "тяжелых" (долгих) операций я
1. Вывожу окно вида "выполняется операция XXX..."
2. Создаю таймер и запускаю его на выполнения с повторением 1 раз.
3. Тяжелую операцию выполняю в функции таймера, а в конце скрываю сообщение.
Всё работает отлично. Но теперь понадобилось после выполнения этой тяжелой операции сохранить данные в файл. Однако, при вызове
Код AS3:
FileReference.save(data, filename);
программа зависает.
Есть ли какое то решение для данной проблемы?
Т.е. вывел сообщение, выполнил операцию, сохранил результат в файл, скрыл сообщение.

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
насколько помню, методы save/browse/download работают после действий юзера(могу ошибаться). т.е. по клику на какую-нибудь кнопку(например).
и для save нужен 10+ плеер (на всякий случай)
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

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

Регистрация: Feb 2011
Сообщений: 9
Ясно. Спасибо за разъяснение. Надо думать, как лучше изловчится, чтобы не напрягать пользователя лишним кликом.
p.s. Про 10+ я знаю.

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

Регистрация: Apr 2010
Сообщений: 32
Метод save() класса FileReference не статический. Непонятно как оно вообще скомпилировалось. Или экземпляр класса FileReference у вас так и называется FileReference?
И, кстати, на всякий случай этот объект лучше поберечь от сборщика мусора. А то мало ли, вдруг еще удалится прямо во время сохранения.

Старый 28.02.2011, 16:28
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 5  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
У меня есть мнение, что во время сохранения у вас начинает накрываться таймер, вот и виснет все. перед сохранением стоит остновить таймер, а после сохранения запросто запускать снова.
cleptoman вы не правы, клик тут не причем, можно вызвать и без клика.

Старый 28.02.2011, 16:37
Shasoft вне форума Посмотреть профиль Отправить личное сообщение для Shasoft Найти все сообщения от Shasoft
  № 6  
Ответить с цитированием
Shasoft

Регистрация: Feb 2011
Сообщений: 9
Цитата:
Сообщение от shootkin Посмотреть сообщение
Метод save() класса FileReference не статический.
Это я просто написал так. Само собой вызываю я его не статически. Т.е. создаю объект и уже у него вызываю. Это я для сокращения написал в таком виде.

Цитата:
Сообщение от in4core Посмотреть сообщение
У меня есть мнение, что во время сохранения у вас начинает накрываться таймер, вот и виснет все. перед сохранением стоит остновить таймер, а после сохранения запросто запускать снова.
cleptoman вы не правы, клик тут не причем, можно вызвать и без клика.
Вообще таймер установлен в repeatCount = 1, так что, по идее, не должен.
Сделал принудительную остановку по stop(), все-равно ошибка таже.


Последний раз редактировалось Shasoft; 28.02.2011 в 16:47.
Старый 28.02.2011, 17:36
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 7  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
special for in4core:

Цитата:
save () метод
public function save(data:*, defaultFileName:String = null):void

Язык версии : ActionScript 3.0
Версии среды выполнения: 10, 1.5

Этот метод можно вызывать только в ответ на пользовательское событие (например, в обработчике событий щелчка мыши или нажатия клавиши). В противном случае в результате вызова этого метода в приложении Flash Player возникает ошибка.
хелп рулит )
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 28.02.2011, 17:40
Shasoft вне форума Посмотреть профиль Отправить личное сообщение для Shasoft Найти все сообщения от Shasoft
  № 8  
Ответить с цитированием
Shasoft

Регистрация: Feb 2011
Сообщений: 9
Гы! Именно там то я и не подумал посмотреть. Спасибо.

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

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

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


 


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


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