我有一个基于 Flex 3 构建的部件应用程序,但部件列表有问题。零件清单使用两个对象:
- 部分
- ArrayOfPart
我将部件列表本地缓存在 SharedObject 中。这几个月来一直运行良好。我在 Part 类中添加了一个新的布尔属性并重新导入了 Web 服务(这不应该影响任何东西),现在,我可以很好地保存 ArrayOfPart SharedObject,但是当我尝试检索 SharedObject 时,我得到“ArgumentError:错误 #1063: ArrayOfPart 上的参数计数不匹配。预期为 1,得到 0。然后它完全删除了我的 SOL 文件。
(我在 Part 和 ArrayOfPart 上使用了 RegisterClass,所以它们都可以序列化为 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 中时可能格式不正确?这可能吗?