Вопрос

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

  • Часть
  • МассивOfPart

Я кэширую список деталей локально в SharedObject. Это работает нормально уже пару месяцев.Я добавил новое логическое свойство в класс Part и повторно импортировал веб-службы (что ни на что не должно было повлиять), и теперь Я могу нормально сохранить общий объект ArrayOfPart SharedObject, но когда я пытаюсь получить общий объект, я получаю сообщение «ArgumentError:Ошибка № 1063:Несоответствие количества аргументов в ArrayOfPart.Ожидал 1, получил 0.А затем он полностью УДАЛЯЕТ мой файл SOL.

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

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

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

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

Проверьте общий объект:

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

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

so = SharedObject.getLocal("PartsList");

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

Это было полезно?

Решение

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

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

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

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

Это похоже на трудную задачу.

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

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

Также....

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top