PDA

Просмотр полной версии : время жизни SharedObject


chingachgoog
11.01.2007, 16:00
А когда собственно сбросяться введенные переменные, если команда flush() не используется, а только мойОбъект.data.параметр=значение ?

При выходе (закрытии) всех флеш-приложений и браузеров ничего не сбрасывается. Это только после выключения компа будет?

etc
11.01.2007, 16:05
Нет, время жизни не ограничено, если не предпринимать действий по удалению.

chingachgoog
11.01.2007, 16:14
А если мойОбъект.параметр=значение (т.е. без обращения .data.), то когда сброситься?

FourSide
11.01.2007, 16:16
На офф. сайте (http://www.adobe.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary650.html) написано, что запись происходит в момент закрытия сессии, т.е., например, при закрытии браузера.

Я сам никогда не использую flush для SharedObject, однако он (флэш) всё записывает без проблем.

Цитата с сайта:
Method; immediately writes a locally persistent shared object to a local file. If you don't use this method, Flash writes the shared object to a file when the shared object session ends—that is, when the SWF movie is closed, when the shared object is garbage-collected because it no longer has any references to it, or when you call SharedObject.data .

etc
11.01.2007, 16:28
А если мойОбъект.параметр=значение (т.е. без обращения .data.), то когда сброситься?
Нет, свойства «параметр» у SO нет. Сбрасывать надо или присвоением null или undefined.

FourSide
11.01.2007, 16:29
Хотя с другой стороны, при чем тут "время жизни"? :(
Я, наверно, неправильно понял вопрос. Я понял его как - "Когда произойдёт запись в файл нового значения переменной в SharedObject, если не используется метод flush?"

Я неправильно понял вопрос?

etc
11.01.2007, 16:32
Я неправильно понял вопрос?
Скорее всего да.

chingachgoog
11.01.2007, 17:03
Нет, свойства «параметр» у SO нет. Сбрасывать надо или присвоением null или undefined.

Немного не так выразился. Это скорее не параметр, а переменная.
Пока опытным путем выясняется что она живет только до закрытия флеш-плеера. (только в том случае, если она напрямую присваивалась без .data.)

Кстати в мануале написано вроде, что сбрасывается как раз оператором delete, а null и undefined не сбросишь

chingachgoog
11.01.2007, 17:04
Я неправильно понял вопрос?


Просто не до конца. :)
Хотя здорово объяснил, зачем вообще этот flush() нужен

etc
11.01.2007, 17:31
(только в том случае, если она напрямую присваивалась без .data.
Конечно она не будет существовать после закрытия плеера. Это равносильно присвоению anyObject.param = value; Никто ничего сохранять не будет после закрытия.