На самом деле, ваша проблема не в том, что Flash работает по строкам. Фактически, он запускается по строкам, но ваша проблема заключается в том, что вы хотите увидеть изменение текста перед запуском функции. См. Текст изменения отличается от изменения текста. Ваш код фактически меняет текст, но интерфейс еще не был изменен через eventDispatcher. Если вы работаете на SDK 3.6A или новее, вы можете прослушать событие afterChange и вызвать свою функцию после обновления экрана.
Редактировать: ваш код «не работает», потому что, поскольку выполнение вашей функции происходит так быстро, оно не дает времени на обновление для «Обработать» до того, как карта уже выполнена, что делает ее например, экран обновлялся только один раз.
Edit 2: Вот рабочий код (примечание: Вы будете видеть только проблеск «Ожидание ...» сообщение, потому что процесс слишком быстро):
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
// Function that starts everything
private function changeValue():void{
// Add Listener to the label to wait the screen to be updated BEFORE updating the text.
this.status.addEventListener(Event.RENDER, this.changed);
// Update the text
this.status.text = "Wait...";
}
private function changed(e:Event):void{
// Make sure to remove the eventListener to not cause infinite loop.
this.status.removeEventListener(Event.RENDER, this.changed);
// Make new change.
this.status.text = "Done";
}
]]>
</mx:Script>
<mx:Button x="221" y="185" label="Change it!" click="changeValue()"/>
<mx:Text id="status" x="395" y="250" text="Text"/>
</mx:Application>
Можете ли вы показать еще какой-нибудь код, пожалуйста? Этого недостаточно, чтобы ответить на ваш вопрос. – putvande