Hi,
I think you are given wrong event type in this metadata tag,
mx:Metadata
[Event(name=testEvent, type=events.CustomEvent)]
/mx:Metadata
rather it should be complete package structure as,
mx:Metadata
[Event(name=testEvent, type=actionscript.CustomEvent)]
/mx:Metadata
Regards,
*Pravin*
2009/2/20 elevight i...@pilby.us
I'm getting a compiler message saying Event
type 'events.CustomEvent' is unavailable, and I don't understand
why. I'm hoping a second eye might catch the problem.
My custom event class is called CustomEvent.as: (the dao.Person class
is just a dummy class that stores a firstName, middleName, and
lastName, and I was going to see if the data in this object will be
available in my 'testEvent' handler).
package actionscript
{
import dao.Person;
import flash.events.Event;
public class CustomEvent extends Event
{
public var person:Person;
public function CustomEvent(person:Person,
type:String)
{
super(type);
this.person = person;
}
public override function clone():Event
{
return new CustomEvent(person, type);
}
}
}
I'm trying to dispatch the above custom event from a test component
called TestComponent.mxml:
?xml version=1.0 encoding=utf-8?
mx:TextInput xmlns:mx=http://www.adobe.com/2006/mxml;
mx:Metadata
[Event(name=testEvent, type=events.CustomEvent)]
/mx:Metadata
mx:Script
![CDATA[
import actionscript.CustomEvent;
import dao.Person;
public function fireAway():void
{
var p:Person = new Person
(John, Missing, Doe);
var e:CustomEvent = new CustomEvent
(p, testEvent);
this.dispatchEvent(e);
}
]]
/mx:Script
/mx:TextInput
And finally, here is my MXML application that's supposed to test all
this and is called CustomEventsTest.mxml:
?xml version=1.0 encoding=utf-8?
mx:Application xmlns:mx=http://www.adobe.com/2006/mxml;
layout=absolute
xmlns:c=components.*
mx:Script
![CDATA[
import actionscript.CustomEvent;
import components.TestComponent;
private function clickHandler():void
{
testComponent.fireAway();
}
private function testEventHandler
(event:CustomEvent):void
{
trace(It got here to testEventHandler.);
}
]]
/mx:Script
mx:VBox
!-- * --
c:TestComponent id=testComponent
backgroundColor=yellow
testEvent=testEventHandler(event)/
!-- * --
mx:Button id=btnFireEvent
label=Fire Event
click=clickHandler()/
/mx:VBox
/mx:Application
The compiler error message is complaining about the c:TestComponent
between the two lines of asterisks. Can anyone see why the compiler
is telling me
why CustomEvent is unavailable?
Thanks in advance for your time.