Bonjour à tous,

Je suis venus vous soumettre un problème fort singulier : l'importation d'un swf dans un autre.

Simple, me direz vous, il suffit d'un URLRequest et d'un Loader (voir uniquement le Loader), et le tour est joué. Sauf qu'évidemment, le problème n'est pas là .

En effet, le problème vient du fait que je peux importer un swf, mais pas un autre.

Pour ce faire, j'utilise 5 fichiers:
-la classe pageView , qui affichera ma page (et donc, mes swf), dont voici le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package  Projet.views
{
	import flash.display.MovieClip;
	import flash.display.Shape;
	import flash.net.URLRequest;
	import flash.net.URLLoader;
	import flash.events.Event;
	import flash.display.Loader;
	import flash.display.LoaderInfo;
 
	public class PageView
	{
		public var view : MovieClip;
		public function PageView(mc : MovieClip) : void
		{
			view = mc;
		}
 
		public function loadPage(url : String) : void
		{
			var urlRequest : URLRequest = new URLRequest(url);
			var loader : Loader = new Loader();
			loader.load(urlRequest);
			view.addChild(loader);
			//Permet de retirer le swf précédent sans se faire "flasher"
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE,_loadComplete);
		}
 
		private function _loadComplete(e : Event) : void
		{
			if(view.numChildren>=2)
			{
				view.removeChildAt(0)
			}
		}
	}
}
- L3.fla , qui est le fla associé à un main, qui lui même fera appel à la classe PageView

- Test.fla, dont le code se résume à :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
var Rurl:Loader=new Loader();
Rurl.load(new URLRequest("Exemple.swf"));
addChild(Rurl);
-Exemple.swf, dont le code as est directement introduis dans le fla (donc, pas de classe, ni de main associé)

-ExemplePoo.swf, dont le code as est introduit par l'intermédiaire d'un main et d'au moins deux classes.

Les résultats que je reçois sont les suivants:
Appel de Exemple.swf par PageView:OK
Appel de Exemple.swf par Test:OK
Appel de Exemple.swf par l'intermédiaire de Test.swf par PageView:OK
Appel de ExemplePoo.swf par PageView: Pas de résultat (page blanche, pas d'erreur)
Appel de ExemplePoo.swf par Test:Ok
Appel de ExemplePoo.swf par l'intermédiaire de Test.swf par PageView:Affichage du lien précédent (singulier, n'est-ce pas)

Ce que je souhaiterait, c'est trouver la raison pour laquelle PageView ne peux afficher ExemplePoo.swf alors que Test, oui.

Je n'ai bien sur pas afficher tout le code, ni toute l'arborescence du projet, pour des raisons de place (18 fichiers de codes au total), mais si cela peux vous aider, je peux les afficher.

Je vous remercie d'avance pour l'aide que vous pourrez m'apporter.