Ошибка Flash / Flex № 1063 при получении SharedObject

У меня есть приложение для запчастей, построенное на Flex 3, и у меня проблема со списком запчастей. В списке деталей используются два объекта:

  • Часть
  • ArrayOfPart

Я кэширую список частей локально в SharedObject. Это работало нормально пару месяцев. Я добавил новое логическое свойство к классу Part и повторно импортировал веб-сервисы (что не должно было ни на что повлиять), и теперь Я могу сохранить ArrayOfPart SharedObject в порядке, но когда я пытаюсь получить SharedObject, я получаю «ArgumentError: Error # 1063: несоответствие количества аргументов в ArrayOfPart. Ожидается 1, получил 0. И затем он полностью удаляет мой файл SOL.

(Я использовал RegisterClass для Part и ArrayOfPart, поэтому оба они сериализуемы в SharedObjects)

Вот шаги, которые я выполнил, чтобы получить ошибку:

Сохраните общий объект:

so = SharedObject.getLocal("PartsList");
so.data.AllParts = AllParts;
so.flush();

Проверьте SharedObject:

  • SharedObject PartsList.sol существует там, где он должен
  • Я открыл файл SharedObject, и данные ArrayOfPart выглядят действительными.

Перезапустите приложение, и оно получит список частей из SharedObject. Это строка, которая вызывает ошибку # 1063 и приводит к удалению файла sol:

so = SharedObject.getLocal("PartsList");

Похоже, что данные могут быть неправильно сформированы при сохранении в SharedObject? Это возможно?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
1 567
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Похоже, это непросто.

Я не думаю, что это проблема формирования или сериализации. Может быть, что-то еще в вашем коде записывается в общий объект?

Есть ли способ поделиться своим источником? Это поможет, поскольку у меня лично недостаточно информации, чтобы диагностировать, что происходит, без просмотра остальной части кода :(

Также....

Есть ли что-нибудь еще, что записывает или изменяет этот общий объект?

Все ли мои объекты созданы в AS3 или некоторые в MXML (я заметил, что компилятор Flex не всегда хорошо разбирается в MXML).

Какая у меня версия Flash?

Если у него Flash 10, возникает ли такая же проблема во Flash 9?

Это происходит во всех браузерах и на всех платформах?

Просто догадка, но, поскольку я установил Flash Player 10, я вижу много ошибок с общими объектами при просмотре. Может ли это быть связано с недавно введенными ограничениями песочницы / безопасности?

Ответ принят как подходящий

Я решил свою проблему.

У ArrayOfPart есть конструктор с параметром. Когда я удалил конструктор, ошибка исчезла.

Кстати, это была Flash 9.

Другие вопросы по теме