Voy a poner el código para que se vea más claro. Es una aplicación básica para ver el comportamiento de un evento propio. El listener se lanza en el mxml y el evento se lanza en un archivo interno.
Prueba.mxml:Código :
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import caso.Control;
import caso.Evento;
import mx.controls.Alert;
public function completo(ev:Event):void{
Alert.show("hoooola");
}
public function envio():void{
var c:Control = new Control();
this.addEventListener(Evento.CARGAR, completo);
c.mensaje(texto.text);
}
]]>
</mx:Script>
<mx:Button id="boton" x="345" y="104" label="Button" width="172" height="34" click="envio()"/>
<mx:TextInput id="texto" x="84" y="104" width="231" height="34"/>
</mx:Application>
[b]Control.as[/b]
package caso {
import flash.events.EventDispatcher;
public class Control extends EventDispatcher{
public function Control(){
}
public function mensaje(cad:String):void{
dispatchEvent(new Evento(Evento.CARGAR));
}
}
}
[b]Evento.as[/b]
package caso {
import flash.events.Event;
public class Evento extends Event{
public static const CARGAR:String = "cargar";
public function Evento(type:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
}
}
}