yeah. 
maybe it should be 
   _service = new MyService();
   _service.addEventListener("xmlLoaded", doSomething);



David Ngo <[EMAIL PROTECTED]> wrote: You're listening for an event from your 
view class that's being fired from
your service class, that's why.


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Sam
Sent: Wednesday, May 23, 2007 7:46 AM
To: Flashcoders mailing list
Subject: [Flashcoders] dispatchEvent within another event handler

I'm trying to do what i think should be pretty simple.
I want to dispatch an event when my xml has completed lodaing.
For the life of me i can't figure out why event does not get  
dispatched from "handleXML", I know the listner works because I've  
tested it by dispatching the same event from a button click.
Any ideas what I may be doing wrong?

package {
 import flash.display.Sprite;
 import com.acme.AppController;
 import com.acme.MyService;

 public class MyView extends Sprite
 {
  public function MyView()
  {
   var controller:MyController = new
MyController(this);
  }
 }
}


package com.acme
{
 import flash.events.EventDispatcher;
 import flash.events.Event;
 import flash.display.Sprite;
 import com.acme.MyService;
 
 public class MyController extends EventDispatcher
 {
  private var _view:Sprite;
  private var _service:MyService;
  public function MyController(target:Sprite){
   _view = target;
   _view.addEventListener("xmlLoaded", doSomething);
   _service = new MyService();
  }
  
  public function doSomething(e:Event):void{
   trace("doSomething CALLED");
  } 
 }
}

package com.acme
{
 import flash.events.EventDispatcher;
 import flash.events.Event;
 import flash.net.URLLoader;
 import flash.net.URLRequest;

 public class MyService extends EventDispatcher
 {
  private var _loader:URLLoader;
  private var _xml:XML;
 
  public function MyService(){
   _loader = new URLLoader();
   _loader.addEventListener(Event.COMPLETE, handleXML);
   _loader.load(new URLRequest("xml/data.xml"));
  }
  
  public function handleXML(event:Event):void{
   dispatchEvent(new Event("xmlLoaded", true)); // this
never fires
   _xml = new XML(_loader.data);
  }
 }
}

_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


 
---------------------------------
The fish are biting.
 Get more visitors on your site using Yahoo! Search Marketing.
_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to