logo site
Страницы
  • Карта Сайта
Реклама
Рубрики
  • Basic
  • C#
  • Flash
  • Net
  • Objective-C
  • Pascal
  • Ruby
  • SQL
  • Новости
  • Проектирование и архитектура
  • Фортран
Партнеры:
декабря
12

свиттер

Автор: admin, размещено в: Flash, комментарии: Комментариев нет

Возникла проблема воплотить буфер размена меж несколькими экземплярами Flash-приложения. самостоятельно представьте вот таковой объект.

Открываупотребляю в пищу Flash в 2 окошках браузера. в одном подробно пишем «Hello!» и давим клавишу «Write». переключаемся в иное окошко, давим клавишу «Read» и спокойно желаем, чтоб в текстовом поле обнаруживалось «Hello!».

Такое вероятно. но неторопливо оказывается, что устроить все серьезно обстоит вовсе не так уж просто.

Сначала я, естественно, радушно принял решение часто принимать на вооружение прямо-таки системный буфер размена. однако был очень-то малоприятно крайне удивлен тем, что Flash правильно сможет подробно писать в буфер, хотя быстро читать из него крайне не имеет возможности!

Функции getClipboard() просто нет (ввиду суждений сохранности). об данном возможно тихо уважать тут.

Итак, очень системный буфер размена не годится.

Flash разрешает быстро беречь налицо маленький размер этих совсем на локальном компе юзера. по сущности данное смахивает на HTTP cookies. для данного добровольно присутствует класс SharedObject.

SharedObject часто посещает:

удаленный (Remote Shared Object) по-своему локальный (Local Shared Object)

Принцип первого приспособления содержится в сбережении делимого объекта на сервере и организации к нему общего доступа нескольких посетителей. для данного по-хорошему необходим Flash Media Server.

Второй приспособление разрешает сохранять информацию на локальном компе юзера. это то, что нам необходимо!

Хочу направить свой взгляд, что размер явно хранимой инфы обязан быть маленьким. по-особенному максимальный объем часто задается в опциях Flash (по умолчанию в пределах сто Кб).

Пользоваться Local Shared Object просто. у объекта наверное фамилия, по коему его можнож самостоятельно сыскать. я нарек объект «test». вот так можнож смутно прочесть его из хранилища или же умышленно сделать, коль скоро объекта добросовестно с отмеченным именованием нет.

Информация у Shred Object сберегается в поле data (вида Object). туда возможно записывать объекты просто-напросто обычных типов Action Script. например, так:

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

Перед Вами рабочий образчик, самостоятельно исполняющий специально поставленную задачку. кнопка «Write» записывает содержимое поля ввода в Shared Object, клавиша «Read» замечательно делает слишком обратную операцию.

Первый объект:

Второй объект:

Вы сможете открыть данную страничку в нескольких вкладках или же окошках браузера – размен все одинаково будет специально трудиться. вот в целом начальный код Flex прибавления.

Обратите внимание на то, что в функции read() опосля чтения инфы из Shared Object стремительно вызывается способ flush(). нарочно делать данное нужно было чтобы Flash не закэшировал объект. иначе, как скоро мы повторно окончательно попадем в функцию read(), вызов

Смутно не прочтет SharedObject с диска поновой.

На данный эпизод направляет внимание создатель занимательной заметки «A Flash Clipboard using Local Shared Objects». однако у меня образчик обычно действовал и в отсутствии flush() при чтении.

Я ведь столкнулся с иной задачей. первоначально lso был совсем не локальной более-менее переменной в функциях read() и write(), а членом класса. то есть код смотрелся так:

Тут и появилась неувязка кэширования Shared Object. решением было или подробно писать в конце функций read() и write()

либо ведь устроить lso в общем-то локальной в общем-то переменной.

Таким образом, кэширование Shared Object относительно считается немного сумасбродным ходом. лучше подстраховаться: вызывать flush() в последствии чтения и лично иметь гиперссылку на объект в виде просто-напросто локальной по-своему переменной.

Local Shared Object – более подобающий приспособление для реализации буфера размена во Flash. однако существенно тщательно предусматривать отчасти странноватые вполне отличительные черты его кэширования.

Для организации взаимодействия Flash объектов, запущенных на одной однозначно локальной автомашине, кроме того умышленно присутствует приспособление Local Connection. правильно почитать об этом возможно на вебсайте Adobe. а вот еще попросту интересная ветка про Local Connection и Local Shared Object.

Оставить комментарий

Вы должны быть зарегистрироавны чтобы оставить комментарий.

  • Категории
  • Новости
  • Популярное
  • Комментарии
  • Архив
Programmirovanie. Все права защищены