Как стать автором
Обновить

Комментарии 10

хорошая статья, нужная штучка в жизни флешера.
В карму плюсанул.
Вопросы сразу появились
1. Если записать класс с полем Private, а считать в класс с полем Public, то сработает ли обращение к данному полю?
2. Если у меня класс с тремя параметрами (var a,x,y:int), я его сохраняю, затем у меня новая версия флешки и параметра четыре (var a,b,x,y:int), как оно восстановится?
3. Если у меня внутри класса используются другие «свои» классы, как они будут обработаны? (class FirstCustomClass { var x:SecondCustomClass; }), как надо сделать правильно?
1. не совсем понятен вопрос… типизированная сериализация происходит для одного класса, т.е. попытка приведения объекта к другому типу даст null либо ошибку (в зависимости от того, используется для приведения оператор as или Class(object)). если после сериализации переписать поле с public на private, при десериализации получим ReferenceError
2. По идее ошибки не произойдёт. b примет значение по умолчанию (в данном случае 0), но если удалить параметр, а не добавить, будет опять же ReferenceError
3. в случае, если оба класса зарегистрированы через registerClassAlias, всё будет нормально. Если внутренний незарегистрирован, x будет null. Но вообще, если есть необходимость более тонкого контроля за сериализацией, класс должен реализовать интерфейсы IDataInput/IDataOutput… странно, что здесь про это ни слова.
1е в принципе не так важно. Спасибо.
* Я как заядлый сишник представляю объект как кусок памяти.
IExternalizable, конечно. Затупил.
а не IDataInput/IDataOutput
Спасибо очень нужная тема!
В свое время потратил кучу времени на поиски возможности записи мувиклипов в байтаррай. Вот теперь хоть точно буду знать, что это невозможно…
MovieClip наследуется от DisplayObject: Adobe Help
Его (если верить статье) разобрать нельзя
Неплохо было бы тогда добавить и про кастомную сериализацию (через IExternalizable). С её помощью, как известно, можно записывать и считывать private поля
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории