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

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

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

Регистрация: Jan 2010
Сообщений: 9
По умолчанию Ньюансы использования SharedObject

Привет, столкнулся с недокументированой особенностью работы SharedObject.

На HTML страницу рендрится одна и та же флешка (проигрыватель видео) в нескольких копиях. В этом проигрывателе есть настройки, которые я сохраняю в SharedObject. Проблема заключается в том, внесенные изменения в одном экземпляре проигрывателя не видны другому до перезагрузки страницы. После перезагрузки страницы с плеерами изменения подхватываются, но не устанавливаются в реальном времени в процессе работы.
Такое впечатление, что отдельный плеер работает со своей копией sharedObject с момента загрузки.

На форуме уже сталкивались с похожей проблемой, но, к сожалению, решений не предложили.
http://www.flasher.ru/forum/showthre...t=sharedObject

Код AS3:
// создаю объект
var sharedObject = SharedObject.getLocal("settings", "/");
// записываю значения
sharedObject.setProperty('resolution', resolution);
// читаю значения
resolution = sharedObject.data.resolution

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Я не сталкивался с необходимостью писать в один SO данные с разных флешек, поэтому могу и ошибаться, но попробуйте после каждой записи вызывать flush ().
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 03.02.2011, 03:01
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 3  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Аналогично, но если каждая флешка работает со своим SO, то можно синхронизировать их по LocalConnection.

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

блогер
Регистрация: Apr 2010
Сообщений: 99
Записей в блоге: 5
Отправить сообщение для VitaliyKrivtsov с помощью ICQ Отправить сообщение для VitaliyKrivtsov с помощью Skype™
flush() не помогает и решения к сожалению нет, сталкивался с такой хренью,
данные сохраняются только после того как закрыли флешку.

Старый 03.02.2011, 09:14
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 5  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Использовали такой механизм для разных флэшек, все было ок.

Код AS3:
var so:SharedObject = SharedObject.getLocal("settings", "/");
// записываю значения
so.data.resolution = 826;
so.flush();
// читаю значения
trace(so.data.resolution);
Добавлено через 1 минуту
setProperty, судя по хелпу, используется для удаленных операций.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 03.02.2011, 10:00
Muscul вне форума Посмотреть профиль Отправить личное сообщение для Muscul Найти все сообщения от Muscul
  № 6  
Ответить с цитированием
Muscul

Регистрация: Jan 2010
Сообщений: 9
Цитата:
Сообщение от iNils Посмотреть сообщение
Я не сталкивался с необходимостью писать в один SO данные с разных флешек, поэтому могу и ошибаться, но попробуйте после каждой записи вызывать flush ().
Спасибо за подсказку! Вызов метода flush(), действительно, был необходим в этой ситуации. Теперь данные применяются моментально для всех флешек.

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

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

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


 


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


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