Bonjour,
J'ai développé un projet swf sous flex 4.5 qui fonctionne parfaitement.
J'ai ensuite voulu l'intégrer à un projet vierge en le chargeant en testant 2 méthodes : swfLoader et Loader.
L'importation se passe sans erreurs et tout s'affiche sauf les images alors qu'elles s'affichaient correctement en lançant seul le premier swf. Étonnamment les images des boutons d'affichent correctement donc cela ne vient pas de droits d'accès.
Une autre erreur est que lorsque je clique sur un bouton ouvrant une popup j'obtient une erreur d'objet null, fonctionnant également bienen lançant le swf seul.
Le code d'erreur :
Le seul code de mon fichier de chargement de swf:Code:
1
2
3
4
5
6
7 TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul. at mx.managers::PopUpManagerImpl/http://www.adobe.com/2006/flex/mx/internal::createModalWindow() at mx.managers::PopUpManagerImpl/addPopUp() at mx.managers::PopUpManagerImpl/createPopUp() at mx.managers::PopUpManager$/createPopUp() at forum/openInscriptionWindow() at forum/__loginBtn_click()
Code avec le loader :Code:
1
2
3 <mx:SWFLoader id="myLoader" width="100%" height="100%" source="http://localhost:8400/samples/forum/forum.swf" complete="initApp();"/>
Mon code de chargement de popup assez classique (InscriptionPopup est un BorderContainer) :Code:
1
2
3
4
5
6
7
8
9
10
11 Security.allowDomain("*"); Security.loadPolicyFile("http://localhost:8400/crossdomain.xml"); var container:UIComponent = new UIComponent(); addElement( container ); var lrd:Loader; lrd = new Loader(); var url:String = "http://localhost:8400/samples/forum/forum.swf"; lrd.contentLoaderInfo.addEventListener(Event.COMPLETE, onDataLoadComplete); var urlReq:URLRequest = new URLRequest(url); lrd.load(urlReq); container.addChild( lrd );
Il n'y a rien de plus simpliste niveau code donc je pense que cela doit venir d'un paramètre manquant lors de l'appel à swfloader ou loader mais après mes plusieurs jours de recherche je n'ai strictement rien trouvé de probant.Code:var inscription:InscriptionPopup = InscriptionPopup(PopUpManager.createPopUp(this, InscriptionPopup, true));
J'ai également l'impression que c'est le chargement de ce swf qui ne se fait pas complètement pour créer de tels problèmes même si le débugger me dit que tout est bon.
Sur ce swf chargé le changement d'état (state) fonctionne bien tout comme mes requêtes SQL via amfphp.
J'ai testé sur un serveur en ligne et j'obtiens le même résultat.
Merci de l'aide que vous pourrez m'apporter.