![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Суть в чем. Играюсь с шаредОбжектом. Пытался схалтурить и записать туда весь экземпляр нужного мне класса.
Оно вроде как получилось, но не до конца. Экземпляр записывается, но достается оттудова не с тем типом с которым я его туда записал а с типом Object. Все параметры сохраняются, и все вложенные стандартные штуки типа Dictionary, Array, и тем более примитивные типы - свои типы сохраняют, а все экземпляры авторских классов возвращаются абстрактно. Писать какую-то функцию типа: function getFromObject(obj:Object, myObject:MyObject):void { for each(var key:String in obj) { myObject[key] = obj[key] } } Можно, конечно, прикрутить какую-то аналитику и писать в шаред только несколько нужных параметров. А потом не объект целиком доставать а нужные параметры и всовывать в свой объект.
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
|
Не взлетает, оно видимо на сессию работает, а мне ведь после перезагрузки надо.
Пробовал делать перед извлечением объекта из шареда - не работает. потом перенес перед тем местом где записываю - результат тот же. потом плюс предыдущему пункту для проверки добавил getClassByAlias() в том месте где извлекаю - говорит не могу найти такой класс ибо не зарегистрирован. ЧЯДНТ? Добавлено через 8 минут так записываю if (_storeToSO = storeToSharedObject) { if (!sharedObject) sharedObject = SharedObject.getLocal("/loading", "/"); registerClassAlias("com.loading.BulkLoader", BulkLoader); if (!sharedObject.data.isPrototypeOf("loaders")) { sharedObject.data.loaders = new Object(); } sharedObject.data.loaders[name] = this as BulkLoader; } if (sharedObject.data.hasOwnProperty("loaders") && sharedObject.data.loaders.hasOwnProperty(name)) { trace("trying to return loader from So"); try { registerClassAlias("com.loading.BulkLoader", BulkLoader); getClassByAlias("com.loading.BulkLoader") } catch (e:Error) { trace(e.errorID, e.name, e.message) } return sharedObject.data.loaders[name] as BulkLoader; } эммммм, или его перед записью сериализовать надо? щас попробую![]() Добавлено через 11 часов 18 минут Короче в итоге проще оказалось пересмотреть логику Ну и использовал мой любимый метод программирования: "удалить ненужный код".
__________________
Кто к нам с чем для чего - тот у нас того от того. Последний раз редактировалось Dukobpa3; 23.05.2011 в 23:57. |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:25. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|