Bonjour à tous,

Je suis confronté à un problème de débutant que je vous soumet après avoir passé bien trop de temps dessus.
J'ai crée une classe actionscript et je souhaite qu'elle dispatche un évènement de type FlexEvent.creationComplete lors de son instanciation. Seulement, l'écouteur n'est jamais appelé.
Cela deviens frustrant, d'autant que je suis le seul développeur flex au sein de ma société et que par conséquent, personne ne peut m'aider sur des problèmes de ce genre : triviaux mais spécifiques à as3 & flex.

voici le code du prototype que j'ai crée pour isoler le soucis :

protoEventDispatch.mxml :
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
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
	<mx:Script>
		<![CDATA[
			import mx.events.FlexEvent;
			import protoClass.MyProtoClass;
 
			public var myObject : MyProtoClass ;
 
			private function init() : void
			{
				myObject = new MyProtoClass ();
				myObject.addEventListener(FlexEvent.CREATION_COMPLETE,traceIt);
			}
 
			public function traceIt (AEvent : FlexEvent) : void
			{
				trace(" event received ! "); //n'affiche rien ... évidemment...
			}
 
 
		]]>
	</mx:Script>
</mx:Application>
MyProtoClass.as :
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
package protoClass
{
	import flash.events.EventDispatcher;
 
	import mx.events.FlexEvent;
 
	[Event (name="creationComplete" , type="mx.events.FlexEvent")]
	public class MyProtoClass extends EventDispatcher
	{
		public function MyProtoClass() 
		{
			trace ("creating protoclass");
			myDispatchFunction();
		}
 
		public function myDispatchFunction() : void
		{
			dispatchEvent(new FlexEvent (FlexEvent.CREATION_COMPLETE ));
			trace (hasEventListener(FlexEvent.CREATION_COMPLETE)); //affiche false
			trace (willTrigger(FlexEvent.CREATION_COMPLETE)); //affiche false
		}
 
	}
}
Je vous remercie de votre aide, tout conseil est le bienvenu.