Alert.show is async, so move the code after Alert.show to the alertHandler
method after your if/else block that's already in there.

Beau



On Wed, Aug 26, 2009 at 12:03 AM, Angelo Anolin <[email protected]>wrote:

>
>
> Hi FlexCoders,
>
> This has puzzled me a bit..
>
> I have the following scripts in my application:
>
> private var myAlert:int;
>
> private function testFunction(evt:Event):void
> {
>   Alert.show('do you want to proceed', 'Title', Alert.YES | Alert.NO, null,
> alertHandler, null, Alert.YES);
>
>   if(myAlert == 1)
>   {
>     // Do Something here
>   }
>   else
>   {
>     // Do other thing here
>   }
> }
>
> Private function alertHandler(evt:CloseEvent)
> {
>   if(evt.Detail == Alert.YES)
>   {
>     myAlert = 1;
>   }
>   else
>   {
>     myAlert = -1;
>   }
> }
>
> Now, what puzzles me is that the script after the Alert.show is triggered,
> the scripts following it are also triggered.
>
> Is there a way to ensure that the script following the Alert.show alert box
> would only be executed after the Yes or No buttons has been pressed?
>
> I won't be able to move the scripts after the Alert.show script to the
> alertHandler event since there are some objects being set / modified prior
> to the alert being called.
>
> Inputs highly appreciated.
>
> Thanks.
>
>
>  
>



-- 
Beau D. Scott
Software Engineer

Reply via email to