# Custom event handler

**URL:** <https://forum.kirupa.com/t/custom-event-handler/236118>\
**Category:** Uncategorized\
**Created:** [August 17, 2007, 12:24pm UTC](https://forum.kirupa.com/t/custom-event-handler/236118 "2007-08-17T12:24:52Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![dfm\_](https://avatars.discourse-cdn.com/v4/letter/d/3da27b/32.png) [@dfm\_](https://forum.kirupa.com/u/dfm_)\
**Post date:** [August 17, 2007, 12:24pm UTC](https://forum.kirupa.com/t/custom-event-handler/236118/1 "2007-08-17T12:24:52Z")

</div>

hi, I want to create some custom event handler, so here is my code at stage  
[AS]import getInfo;

var hhh:getInfo = new getInfo();[/AS]

my class getInfo;  
[AS]package {  
import flash.display.MovieClip;  
import flash.events.Event;  
import phpInfo;  
import getInfoEvent;

```
public class getInfo extends MovieClip {

    public function getInfo() {
        var url:String = "http://localhost:81/www.theflashblog-bg.com/fcp_v2/bin/php/showPosts.php";
        var php:phpInfo = new phpInfo();
        php.getAllPosts(url);
        addEventListener(getInfoEvent.getXML, heh);
    }
    public function heh(info:getInfoEvent):void {
        trace("&gt;&gt; "+info.xmlArrayData);
    }
}

```

}[/AS]

get form php ifrmation class: class phpInfo  
[AS]package {  
import flash.events.Event;  
import flash.net.URLLoader;  
import flash.net.URLLoaderDataFormat;  
import flash.net.URLRequest;  
import flash.net.URLRequestMethod;  
import flash.net.URLVariables  
import flash.xml.XMLDocument;  
import flash.display.Stage;  
import flash.display.MovieClip;

```
import getInfoEvent;
import getInfo;
public class phpInfo extends MovieClip{

    public static const readyXML:String = "readyXML";
    public var query:String;
    public var id:String;
    public var ArrayOfInfo:Array = new Array();
    private var phpLoader:URLLoader = new URLLoader();
    private var request_:URLRequest = new URLRequest();
    private var varsToSend:URLVariables = new URLVariables();        
    
    
    public function phpInfo():void {
        request_.method = URLRequestMethod.POST;
        phpLoader.dataFormat = URLLoaderDataFormat.TEXT;
    }
    public function getAllPosts(url:String):void {
        request_.url = url;
        //set needed info
        varsToSend.hostnam = "localhost";
        varsToSend.database = "theblog";
        varsToSend.username = "tAdmin";
        varsToSend.password = "tpass";
        //
        request_.data = varsToSend;
        phpLoader.addEventListener(Event.COMPLETE, getAllPosts_COMPLETED);
        phpLoader.load(request_);
    }
    private function getAllPosts_COMPLETED(info:Event):void {
        var gallery_xml:XMLDocument = new XMLDocument();
        gallery_xml.ignoreWhite = true;
        gallery_xml.parseXML(phpLoader.data);
        var i:uint;
        var al:Number = gallery_xml.firstChild.childNodes.length;
        for (i=0;i&lt;al;i++) {
            ArrayOfInfo.push(new Array(gallery_xml.firstChild.childNodes*.attributes["id"], gallery_xml.firstChild.childNodes*.attributes["date"], gallery_xml.firstChild.childNodes*.attributes["title"], gallery_xml.firstChild.childNodes*.attributes["author"], gallery_xml.firstChild.childNodes*.attributes["view"], gallery_xml.firstChild.childNodes*.attributes["categry"], gallery_xml.firstChild.childNodes*.attributes["attach"], gallery_xml.firstChild.childNodes*.attributes["image"], gallery_xml.firstChild.childNodes*.attributes["comments"]));
        }
        this.dispatchEvent(new getInfoEvent(getInfoEvent.getXML, ArrayOfInfo));
        
    }
}

```

}[/AS]

event class:class getInfoEvent  
[AS]package {  
import flash.events.Event;

```
public class getInfoEvent extends Event{
    public static const getXML:String = "getXML";
    public var xmlArray:Array = new Array();
    
    public function get xmlArrayData():Array {
        return xmlArray;
    }
    public function getInfoEvent(type:String, gotData:Array):void {
        xmlArray = gotData;
        super(type, true);
        trace(xmlArray);
    }
    public override function clone():Event {
        trace("&lt;&lt;&gt;&gt;");
        return new getInfoEvent(type, xmlArray);
        
    }

}

```

}[/AS]

So, what is the problem. The problem is that in function getInfoEvent(), it trace me the array correctly, but this clone(), don’t trace “\<\<\>\>”, and I don’t have function heh() trace too. What is wrong?
