Je suis en train de sérialiser & déserialiser Vector. en utilisant ByteArray Voici mon code:AS3: Impossible de désérialiser l'objet de ByteArray .. Erreur # 2006
public static function serializeToString(value:Object):String{
if(value==null){
throw new Error("null isn't a legal serialization candidate");
}
var bytes:ByteArray = new ByteArray();
bytes.writeObject(value);
bytes.position = 0;
return Base64.encodeByteArray(bytes).toString();
}
public static function readObjectFromStringBytes(value:String):Object{
var result:ByteArray= Base64.decodeToByteArray(value);
result.position=0;
return result.readObject();
}
Peu importe ce que je fais, je continue à avoir cette erreur:
RangeError: Erreur # 2006: L'indice fourni est hors des limites. à flash.utils :: ByteArray/readObject()
Je dipertly cherche une solution ..
Merci à l'avance Sameer
Erreur # 2006 toujours là, la chose étrange est que le problème se produit seulement lorsque le swf qui implémente la sérialisation est chargé dans un autre swf (le chargeur) Mais, quand j'utilise le serializer swf directement (sans être chargé d'un loader swf) le problème disparait! j'appelle le desrialzer quand j'appuie sur un bouton, ce qui signifie que je suis 100% sûr que le swf sérialiseur est chargé completly La chaîne Je suis désérialisation est stockée dans le fichier SWF chargé .. Alors, j'espère que cela vous donne un indice .. –
Je ne sais pas pourquoi il pourrait échouer, désolé. Peut-être que Base64 cause les problèmes? Il semble moins probable qu'une classe intégrée très utilisée (ByteArray) ait un bug aussi énorme. Là encore, peut-être que cette erreur se produit uniquement dans des circonstances uniques à votre application, ou est causée par un code sans rapport ailleurs. Une fois, j'ai eu une erreur d'affichage provoquée par un bogue dans une classe complètement indépendante. C'était difficile à trouver parce que la classe buggy fonctionnait bien (quand ça n'aurait pas dû être) pendant des jours avant qu'elle ne commence à causer des erreurs (et je n'avais pas modifié la classe en question depuis plusieurs jours). – Cameron