Aren't you missing a definition for LoginEvent.LOGIN in your 
LoginEvent class?  Something like:

public static const LOGIN:String = "login";


--- In flexcoders@yahoogroups.com, "parker77rocks" <[EMAIL PROTECTED]> 
wrote:
>
> Ok this is weird. I create a custom flex component that has custom 
> events.  I initialize the component in actionscript (and throw it 
to 
> good ol PopUp Manager for popup effect) and then try to use 
> addEventListener to register the custom event as i would with any 
> other flash/flex object created with actionscript. Problem is I 
keep 
> getting this error - "1119: Access of possibly undefined property 
> LOGIN through a reference with static type Class." Events are 
> registered and work fine if i initialize the component with mxml 
but 
> then i can't make it a popup (or maybe i can but it seems simpler 
in 
> as). Is this a bug or am i the bug? 
> 
> 
> 
> // Creating a custom event in a flex component as such:
> 
> <mx:Metadata>
> [Event(name="loginComplete", type="flash.events.Event")]
> </mx:Metadata>
> 
> 
> private componentFunction():void
> {
>    var login:Login = new Login();
>    login.username = usernameInput.text;
>    login.password = passwordInput.text;
>    var event:LoginEvent = new LoginEvent("login", login);
>    dispatchEvent(event);
> }
> 
> 
> //Application function - onCreationComplete function...
> 
> private function onCreationComplete = function():void
> {
>    loginWizard = new LoginWizard();
>    loginWizard.addEventListener(LoginEvent.LOGIN, doLogin);
> }
> 
> 
> //.. and event handler
> 
> private function doLogin(event:LoginEvent):void
> {
>       trace(event.type);
> }
> 
> 
> // LoginEvent
> package ts.events
> {
>       import flash.events.Event;
>       import ts.dto.Login;
>       
>       public class LoginEvent extends Event
>       {
>               public var data:Login;
>               
>               public function LoginEvent(type:String, 
> data:Login):void
>               {
>                       super(type);
>                       this.data = data
>               }
>               
>               override public function clone():Event
>               {
>                       return new LoginEvent(type, data);
>               }
>       }
> }
> 
> // Login data transfer
> package ts.dto
> {
>       
>       public class Login
>       {
>               public var username:String;
>               public var password:String;
>               
>               public function Login()
>               {
>                       
>               }
>       }
> }
>


Reply via email to