Question

J'ai une application de pièces construite sur Flex 3 et un problème avec la liste de pièces. La liste de pièces utilise deux objets:

  • Partie
  • ArrayOfPart

Je cache la liste de pièces localement dans un SharedObject. Cela fonctionne bien depuis quelques mois . J'ai ajouté une nouvelle propriété booléenne à la classe Part et des services Web réimportés (qui n'auraient rien affecté) et maintenant, je peux enregistrer l'amende ArrayOfPart SharedObject, mais lorsque j'essaie de récupérer l'objet SharedObject, " ArgumentError: Erreur # 1063: Incompatibilité du nombre d'arguments sur ArrayOfPart. Attendu 1, a obtenu 0. Et puis il supprime complètement mon fichier SOL.

(j'ai utilisé RegisterClass sur Part et ArrayOfPart, afin qu'ils soient tous les deux sérialisables en SharedObjects)

Voici les étapes que j'ai suivies pour obtenir l'erreur:

Enregistrer l'objet partagé:

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

Vérifier l'objet partagé:

  • L'objet PartsList.sol de SharedObject existe où il devrait
  • J'ai ouvert le fichier SharedObject et les données ArrayOfPart semblent valides

Redémarrez l'application pour extraire la liste de pièces de SharedObject. C'est la ligne qui génère l'erreur # 1063 et supprime le fichier sol:

so = SharedObject.getLocal("PartsList");

Il semble que les données ne soient pas bien formées lorsqu’elles sont enregistrées dans SharedObject? Est-ce possible?

Était-ce utile?

La solution

J'ai résolu mon propre problème.

Le groupe ArrayOfPart avait un constructeur avec un paramètre. Lorsque j'ai supprimé le constructeur, l'erreur a disparu.

Au fait, il s’agissait de Flash 9.

Autres conseils

Cela ressemble à un problème difficile.

Je ne pense pas que ce soit un problème de formation ou de sérialisation. Peut-être que quelque chose d'autre dans votre code écrit sur l'objet partagé?

Existe-t-il un moyen de partager votre source? Cela aiderait car je n'ai personnellement pas assez d'informations pour diagnostiquer ce qui se passe sans voir le reste du code: (

Aussi ....

Y a-t-il autre chose qui écrit ou modifie cet objet partagé?

Tous mes objets ont-ils été créés en AS3 ou en MXML (j'ai remarqué que le compilateur Flex ne fait pas toujours du bon travail pour comprendre MXML)

Quelle version de Flash est-ce que je possède?

Si Flash 10 a le même problème dans Flash 9?

Cela se produit-il dans tous les navigateurs et sur toutes les plateformes?

Juste un pressentiment, mais depuis l'installation de Flash Player 10, de nombreuses erreurs se produisent lors de la navigation avec les objets partagés. Pourrait-il être lié aux nouvelles restrictions sandbox / sécurité introduites?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top