pour une raison quelconque ce code flex 4 me donne une erreur, mais je ne peux pas comprendre pourquoi. Dans mon WindowedApplication
je:Flex 4/Air limites de réglage pour WindowedApplication
var prefs:Object = fs.readObject();
fs.close();
var rect:Rectangle = new Rectangle();
rect = prefs.bounds as Rectangle;
this.bounds = rect; // error here
Error message: ArgumentError: Error #2007: Parameter rect must be non-null.
Je l'origine essayé aussi sans l'objet rect et juste fait:
this.bounds = prefs.bounds as Rectangle;
qui me donne l'erreur suivante:
TypeError: Error #1034: Type Coercion failed: cannot convert [email protected] to flash.geom.Rectangle.
Cela ressemble à une erreur bidon puisque je peux assigner pref.bounds à rect sans erreur. Je ne sais pas pourquoi ça ne marche pas. Il fonctionne en mode de compatibilité flex 3, mais cela casse aussi beaucoup de mes composants d'étincelles, donc je ne peux pas l'utiliser.
si vous dites que: this.bounds = rect; équivaut à: this.bounds = null; Et windowedApp n'accepte pas cela? Lorsque j'utilise le débogueur, prefs.bound a tous les champs que vous attendez, largeur, hauteur, x, y, etc. Donc, si ce n'est pas un rectangle, je ne sais pas ce que ce serait. L'objet prefs est d'ailleurs généré à l'origine à partir de this.bounds et enregistré dans un fichier. C'est pourquoi quand je le lis avec ce code, je suis surpris qu'il s'étouffe comme ça. – solerous
@solerous voir ma mise à jour. – Amarghosh
Hey merci pour les bonnes réponses. Malheureusement, le code ne fonctionne pas. var rect: Rectangle = Rectangle (fs.readObject()); trace (rect); TypeError: Erreur n ° 1034: La coercition de type a échoué: impossible de convertir l'objet @ 1db7bdf9 en flash.geom.Rectangle. Même si j'utilise: registerClassAlias ("flash.geom.Rectangle", Rectangle); fs.writeObject (this.bornes); pour l'enregistrer initialement. Je ne comprends tout simplement pas pourquoi AIR ne peut pas faire ce genre de conversion 1: 1. Ce code est en fait tiré d'une application dans Flex 3 et il a parfaitement fonctionné là. Je ne sais pas ce qui a changé dans Flex 4. – solerous