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?

Foi útil?

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?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top