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