Actionscript / Flex, Problème lorsque je load un swf plusieurs fois dans une app

Syphou Messages postés 52 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 6 juin 2011 - 6 mars 2009 à 09:11
Syphou Messages postés 52 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 6 juin 2011 - 9 mars 2009 à 08:31
Bonjour, je suis développeur flex et j'ai une application compilée en swf que je voudrais lancer plusieurs fois avec un paramètre différent.
Cette application accède a un serveur JAVA et reçoit des objets typés en retour. Objets déclarés et connu aussi bien de l'application que du serveur.
Le problème survient lorsque je crée une deuxième application (une sorte de desktop) qui ne contient que un menu qui me permet de loader la première application en lui passant le paramètre correspondant.

La première fois que l'application est loadée via le desktop, tout fonctionne. Le problème survient dès que je veux loader une deuxième fois l'application. J'ai ce message d'erreur dès que le résultat d'une requete survient. ==> TypeError: Error #1034: Echec de la contrainte de type : conversion de Object@15394a11 en mx.messaging.messages.IMessage impossible.

Le problème est connu d'Adobe, ils disent que les définitions des classes (objets typés recu du serveur) ne sont pas connu de l'application principale (ici le desktop) et sont donc chargées en même temps que le premier load de mon application loadée via le desktop. Les définitions des classes lui appartiennent donc.Lorsque un deuxième module/application tente de charger les mêmes définitions de classe, il y a des problèmes de conversion car pour l'application, ce ne sont pas les mêmes types. Adobe dit alors qu'il faut loader les swf dans des domaines d'application différents pour que chacune puisse avoir ses propres définitions de classes. Lorque je fait ça, j'ai l'erreur suivant dès que je load l'application a partir du desktop et que le result d'une requete survient : TypeError: Error #1034: Echec de la contrainte de type : conversion de Object@175e1129 en mx.messaging.messages.ErrorMessage impossible.

Dans mon desktop, je load ma deuxième application comme ceci :
loader.loaderContext = new LoaderContext(false, new ApplicationDomain());
loader.load("monswf.swf?initialState=monParam);

Quelqu'un aurait-il une idée ?

Merci d'avance

3 réponses

cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
6 mars 2009 à 12:16
Salut,
Poses ta question sur le forum de MediaBox, tu auras plus de chance qu'on te réponde.
A ma connaissance il n'y a pas des pros de Flex ici.
Bon courage.

bali_balo....=]
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
9 mars 2009 à 02:55
Pour info, il existe une partie du site en Flex, regarde dans les liens en haut de la page.

Peg'
0
Syphou Messages postés 52 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 6 juin 2011
9 mars 2009 à 08:31
Arf j'avais pas vu xD merci.
0
Rejoignez-nous