|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre habitué
![]() Alain GreatDéveloppeur informatique Inscription : novembre 2007 Messages : 124 ![]() |
Bonjour,
J'ai petit problème bien embêtant, je charge un swf contenant un module à divers endroit d'une application. lors du premier chargement tout va bien, mais des que je rappelle une deuxieme fois le module tout mes "cast" de classe ne fonctionne plus. code : Code :
Code :
Je sais qu'il y a 2 solutions simple ( soit je charge mon swf dans un "ApplicationDomain" différents, soit je ne fait pas mes cast et attaque comme un bourrin mes attributs sur l'event). Mais c'est 2 solutions ne convienne pas. la premiere enclave mon mondule, et la deuxieme est crade. Si quelqu'un a une solution propre merci d'avance |
||||
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Ingénieur développement logiciels Inscription : avril 2008 Messages : 75 ![]() |
Bonjour,
as-tu essayé de caster ton event avec la mot clé "as" ? Quelque chose dans ce goût là : Code :
var e:DossierEvent = event as DossierEvent |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Alain GreatDéveloppeur informatique Inscription : novembre 2007 Messages : 124 ![]() |
Oui c'est pareil, à part qu'a l'éxécution il n'y à pas l'erreur au moment du cast, mais au moment ou j'essaie de travailler sur les attribut puisque du coup mon event est null. Dans le cas de mon exemple, il ne peux réccupèrer dossier sur un object null.
|
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : janvier 2008 Messages : 249 ![]() |
Bonjour, j'avoue je ne comprends pas il ne peut pas caster un Objet TOTO en un autre Objet du même type ça m'a l'aire un peu bizarre. quand tu dispatch bien le même event
tu veux dire quoi pas ils ne contiennent pas la même signature ???
__________________
http://www.m-ataf.com (En cours de construction) |
|
|
00
|
|
|
#5 | ||
|
Membre habitué
![]() Alain GreatDéveloppeur informatique Inscription : novembre 2007 Messages : 124 ![]() |
En gros dans ma fonction c'est bien un DossierEvent qui est intercepté mais il considère que ce n'est pas un DossierEvent. Je pense que le GarbageCollector fait mal sont boulot, quand je construit ma popUp qui charge le swf la premiere fois, il référence l'event dans mon appli lorsque je détruit ma popUp, malgré un "unloadAndStop(true)" sur le swfLoader, je pense qu'il garde une référence de l'event quelque part et donc lorsque je rappelle ma popUp et recharge le swf, l'event est considéré comme différent.
Le problème est bien là, car si lors du chargement du swf, je lui donne un nouveau ApplicationDomain, je n'ai pas du tout le souci. mais si je fais ca je ne peux plus communiquer avec le reste de l'appli Code :
|
||
|
|
00
|
|
|
#6 | ||||
|
Membre confirmé
![]() Inscription : janvier 2008 Messages : 249 ![]() |
Bon je pense qu'il faut mettre ta solution d'instancier un nouvel domaine pour la communication avec le reste de l'application, tu peux créer un singleton de type dispatchEvent
comme c'est un singleton tu as une et une seule référence dans ton application comme il hérite de EventDispatcher tu peux dispatcher et écouter des événement maintenant pour la communication entre ta popup et le reste de ton application tu fais : 1 - tu rajoute ton singleton à ta pop up comme suit : Code :
Code :
Samy
__________________
http://www.m-ataf.com (En cours de construction) |
||||
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Alain GreatDéveloppeur informatique Inscription : novembre 2007 Messages : 124 ![]() |
Si je spécifie un nouveau ApplicationDomain à mon Loader de SWF, la mécanique des singleton ne fonctionne pas, il créera 2 instances différentes pour le Notifieur.
Par contre je viens de penser que je pourrait peut-être utiliser une socket, la peut être que je pourrai faitre communiquer les SWF entre eux même dans des applicationDomain différents. je vais creuser la chose... |
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() Alain GreatDéveloppeur informatique Inscription : novembre 2007 Messages : 124 ![]() |
Bon les sockets ne sont pas une solution qui conviendrais, donc je suis toujours bloqué. donc si quelqu'un pense à une piste n'hésité pas
|
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Alain GreatDéveloppeur informatique Inscription : novembre 2007 Messages : 124 ![]() |
Bon ben j'ai résolu mon problème autrement, lors du chargement de mon SWF je lui donne comme applicationDomain le "ApplicationDomain.currentDomain". Cela m'amène d'autre problèmatique mais au moins celle là est résolue
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com