Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   SharedObject не сохраняет данные (http://www.flasher.ru/forum/showthread.php?t=122391)

litebox 10.03.2009 13:45

SharedObject не сохраняет данные
 
Всем привет. Вот такой пример:
Код AS3:

var localDat:SharedObject = SharedObject.getLocal("user_data");
 
localDat.data["fname"] = "nickname";
 
localDat.data["rname"] = "nickname";
 
localDat.flush();

при этом в файл записывается только одно значение. Выходит, флэш настолько умный, что считает одинаковые значения параметров избыточной информацией? :))

Fernando Costa 10.03.2009 14:15

как вы себе представляете доступ к этим данным???

iflamberg 10.03.2009 14:15

ищите у себя ошибку. У меня все сохраняется правильно.

litebox 10.03.2009 14:42

Цитата:

как вы себе представляете доступ к этим данным???
доступ к этим данным я представляю себе так:
Код AS3:

trace(localDat.data["fname"]);
trace(localDat.data["rname"]);

что тут непонятного?
Цитата:

ищите у себя ошибку. У меня все сохраняется правильно.
собственно, это весь код :)

iflamberg 10.03.2009 14:53

эти трейсы у меня выводят информацию правильно

Fernando Costa 10.03.2009 18:55

сразу не заметил разницу между f и r.

Все нормально работает

litebox 10.03.2009 21:10

От жешь, загадки во тьме... а у меня не работает, и на машинах сослуживцев тоже не работает... вообще еще есть проблемка: если не писать
Код AS3:

localDat.flush();

IDE часто зависает и закрывается... может флэш паршивый достался? :)

SnipeSP 10.02.2010 19:26

Примерно такая же проблема, но не совсем:
есть функция, которая вызывается из JS:
Код AS3:

private function setItem(name:String, value:String):String {
                try {
                        var so:SharedObject = SharedObject.getLocal(NAME)
                        so.data[name] = (value)? compress(value): "";
                        so.flush();
                        return so.data[name];
                }

so.data[name] возвращается какой надо, подставлял so.size в вывод - тоже больший чем до добавления данных.
Однако если сразу после этой функции вызывается следующая (опять же из JS):
Код AS3:

private function getItem(name:String):String {
                        var result:String = "";
                        var so:SharedObject = SharedObject.getLocal(NAME);
                        if (so.data[name])
                                result = uncompress(so.data[name]);
                        return result;
                }

то result получается пустой, а so.size как в первой функции до добавления данных.

При чем происходит эта котовасия не всегда, а раз через три. Хотя бы примерно куда копать?

параметр name в обоих функциях естественно одинаковый.

Добавлено через 13 минут
Куда копать - нашел.
надо смотреть, что возвращает so.flush();


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

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