Как проверить, существуют ли определенные свойства SharedObject? Другими словами, я хочу, чтобы убедиться, что я прочитал что-то толковое из моих местных SharedObject (один не должен получить что-нибудь хорошее первое время загрузки Swf)Убедитесь, что существует свойство данных AS3 SharedObject
Я иду от информации, найденной на http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/net/SharedObject.html
Допустим, я определяю
var my_so:SharedObject = SharedObject.getLocal("superfoo");
Теперь, если я уже получил что-то под my_so.data.foobar я хотел бы использовать его в своем приложении. (Myapp.myfoo уже имеет значение по умолчанию до этого)
if (my_so.data.foobar != null) myapp.myfoo=my_so.data.foobar;
Это, кажется, висит на Flash 10.1. Что мне не хватает?
EDIT: Благодаря вашей проблеме проблема исправлена. :)
Однако было бы неплохо увидеть идиоматический способ выполнения такого рода проверки для SharedObject. Я нашел много примеров, преподающих, как использовать SharedObject, но они, похоже, затушевывают тот факт, что вам нужно проверить, сохранили ли вы что-нибудь стоящее в нем. Это точно, что происходит при загрузке .swf в первый раз. Другой проблемой будет проверка того, успешно ли создан экземпляр SharedObject (например, когда он отключен), но это был бы еще один вопрос ...
это работает без 'my_so.data.foobar = null' проверить!? – www0z0k
возможно, условный код выполняется до создания экземпляра? вы получаете ошибки во время выполнения? если да, то включение их в вопрос поможет диагностировать проблему. – JeremyFromEarth
Теперь он работает. :) Если я правильно понимаю, я передавал undefined в myapp.myfoo, перезаписывая значение «нормального» значения по умолчанию, которое я определил ранее. – Sint