Flash / Flex Error # 1063 ao recuperar SharedObject
-
03-07-2019 - |
Pergunta
Eu tenho um aplicativo de peças que é construído em Flex 3 e eu tendo um problema com a lista de peças. A lista de peças usa dois objetos:
- Parte
- ArrayOfPart
Eu cache a lista de peças localmente em um SharedObject. Isto tem sido muito bem trabalhar por alguns meses . Eu adicionei uma nova propriedade booleana à classe Parte e serviços web reimportadas (que não deve ter nada afetada) e agora, eu posso salvar a multa ArrayOfPart SharedObject, mas quando eu tento recuperar o SharedObject, recebo "ArgumentError: Erro # 1063:. Argumento contagem incompatibilidade na ArrayOfPart esperado 1, tenho 0. E, em seguida, ele exclui meu arquivo SOL completamente
.(eu usei RegisterClass on Part e ArrayOfPart, de modo que ambos são serializáveis ??para SharedObjects)
Aqui estão os passos que eu segui para obter o erro:
Salvar o objeto compartilhado:
so = SharedObject.getLocal("PartsList");
so.data.AllParts = AllParts;
so.flush();
Verifique se o SharedObject:
- O SharedObject PartsList.sol existe onde deveria
- Eu abri o arquivo SharedObject e os dados ArrayOfPart parece válida
Reiniciar o aplicativo e ele recupera a lista de peças a partir do SharedObject. Esta é a linha que gera o erro # 1063 e faz com que o arquivo de sol a ser eliminado:
so = SharedObject.getLocal("PartsList");
Parece que os dados podem não ser bem-formado quando é salvo no SharedObject? Isso é possível?
Solução
Eu resolvi meu problema.
O ArrayOfPart teve um construtor com um parâmetro. Quando eu removi o construtor, o erro foi embora.
A propósito, este foi Flash 9.
Outras dicas
Este parece ser um duro.
Eu não acho que é uma questão de formação ou de serialização. Talvez algo mais em seu código é escrito para o objeto compartilhado?
Existe alguma maneira você pode compartilhar sua fonte? Isso ajudaria como eu, pessoalmente, não têm informação suficiente para diagnosticar o que está acontecendo w / o de ver o resto do código: (
Além disso ....
É mais lá tudo o que está escrito, ou alterar esse objeto compartilhado?
Estão todos os meus objetos criados no AS3 ou alguns em MXML (Tenho notado que o compilador Flex nem sempre fazer um bom trabalho para descobrir MXML).
Qual versão do Flash eu tenho?
Se o seu Flash 10 faz o mesmo problema ocorre em Flash 9?
Isso acontece em todos os navegadores e em todas as plataformas?
Apenas um palpite, mas, desde que eu instalado o Flash Player 10, eu estou vendo um monte de erros com Objetos Compartilhados quando navegação. Poderia estar relacionado a restrições de sandbox / segurança recentemente introduzidas?