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

