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 <[email protected]>

>   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.
>
>  
>

Reply via email to