I'm not sure if this technique is frowned upon but...

You could have a new private var boolAlertContinue:Boolean = false;

In your alertHandler function, you would set it to true... boolAlertContinue
= true;

And after the Alert.show and before the if(myAlert == 1) you need to do a do
while loop...

do {
  //Not sure if there's a 'dummy' command to prevent CPU hog so we'll
just check the time...
  var dtmNow:Date = new Date();
}
while (boolAlertContinue);


or you could probably initialise your myAlert:int = null and in the do ...
while loop check for (myAlert != null)


Cheers,
Nick




2009/8/26 Angelo Anolin <angelo_ano...@yahoo.com>

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

Reply via email to