Ошибка Flash / Flex # 1063 при получении SharedObject - PullRequest
0 голосов
/ 01 января 2009

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

  • Часть
  • ArrayOfPart

Я кеширую список частей локально в SharedObject. Это работает нормально в течение пары месяцев . Я добавил новое логическое свойство в класс Part и повторно импортировал веб-сервисы (которые ни на что не должны были повлиять), и теперь я могу нормально сохранить ArrayOfPart SharedObject, но когда я пытаюсь получить SharedObject, я получаю «ArgumentError: Ошибка № 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? Это возможно?

Ответы [ 3 ]

1 голос
/ 01 января 2009

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

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

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

0 голосов
/ 01 января 2009

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

0 голосов
/ 01 января 2009

Это выглядит жестко.

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

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

Также ....

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

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

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

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

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

...