The simplest way to use custom events is to use the mx.events.DynamicEvent 
class.

When the application creates the LoginPopup component, have it listen for 
"login" events like this:

    var loginPopup:LoginPopup = new LoginPopup();
    loginPopup.addEventListener("login", loginHandler);
    PopUpManager.showPopup(loginPopup);

Have your LoginPopup class dispatch a "login" event when it closes:

    var loginEvent:DynamicEvent = new DynamicEvent("login");
    loginEvent.username = usernameTextInput.text;
    loginEvent.passwrod = passwordTextInput.text;
    dispatchEvent(loginEvent);

Have you application handle the "login" event like this:

    private function loginHandler(event:DynamicEvent):void
    {
        // do something with event.username and event.password
    }

If you want to be more formal and "type-safe", you would declare an AS subclass 
of Event instead of using DynamicEvent, but that's another lesson.

Gordon Smith
Adobe Flex SDK Team

From: [email protected] [mailto:[email protected]] On Behalf 
Of [email protected]
Sent: Friday, August 07, 2009 11:36 AM
To: [email protected]
Subject: [flexcoders] Re: How to make variables persist across application



Thanks. I am not even certain what you mean by dispatching a custom event. I 
have heard of Shared Objects though. Can you point me to a goo resource on how 
to do this?

Thanks,
Lee

--- In [email protected]<mailto:flexcoders%40yahoogroups.com>, 
"valdhor" <valdhorli...@...> wrote:
>
> Or you could dispatch a custom event to your application that contains a user 
> info object.
>
> Or you could save the user info data to a shared object.
>
>
> --- In [email protected]<mailto:flexcoders%40yahoogroups.com>, 
> Gordon Smith <gosmith@> wrote:
> >
> > You have several options. Perhaps the simplest is to declare
> >
> > public var userid:String;
> >
> > in your Application. The login popup can then access this var as 
> > Application.application.userid and set it.
> >
> > Other possibilities include a LoginInfo class with static vars (so that any 
> > code can just access LoginInfo.userid) or a LoginInfo instance attached to 
> > your application (so that any code can reference 
> > Application.application.loginInfo.userid).
> >
> > Gordon Smith
> > Adobe Flex SDK Team
> >
> > From: [email protected]<mailto:flexcoders%40yahoogroups.com> 
> > [mailto:[email protected]<mailto:flexcoders%40yahoogroups.com>] On 
> > Behalf Of spuyear@
> > Sent: Wednesday, August 05, 2009 8:19 AM
> > To: [email protected]<mailto:flexcoders%40yahoogroups.com>
> > Subject: [flexcoders] How to make variables persist across application
> >
> >
> >
> > Is there a way to have the variables I set in a pop-up window (think 
> > login), persist and be accessible even when that pop-up is closed?
> >
> > For example, I have an application that uses a pop-up login window to 
> > control access to the application. The user supplies userid, password and 
> > role. When the user is authenticated, the pop-up closes and a viewstack is 
> > displayed based on the results of the role selected in the pop-up.
> >
> > All that works just fine. Now, I want to display the userid in the 
> > components within the viewstack. For example I want to display a welcome 
> > message based on the userid.
> >
> > I cant seem to figure out how to do this. Any help would be appreciated.
> >
> > lee
> >
>

Reply via email to