Схема такая:
"application"-b-c
|
a
У приложения состояния а и b, в которые грузятся компоненты соответственно. У компонента b есть состояние с, в котором грузится соответсвующий компонент. Нужно передать данные из компонента "a" в компонент "с". Если последовательно менять состояния - компонент "c" не успевает грузиться. А как отловить на нем creationComplete чет не догоню.
Приложение

Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:ns1="*" currentState="a">
<mx:states>
<mx:State name="a">
<mx:AddChild position="lastChild">
<ns1:a x="0" y="0">
</ns1:a>
</mx:AddChild>
</mx:State>
<mx:State name="b">
<mx:AddChild position="lastChild">
<ns1:b x="0" y="0" id="compB">
</ns1:b>
</mx:AddChild>
</mx:State>
</mx:states>
</mx:Application>
Компонент a

Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
<mx:Script>
<![CDATA[
public function setData():void {
parentApplication.currentState = "b";
parentApplication.compB.currentState = "c";
parentApplication.compB.compC.testText.text = inputText.text;
}
]]>
</mx:Script>
<mx:TextInput x="10" y="10" id="inputText"/>
<mx:Button x="10" y="40" label="Set data" id="testButton" click="setData()"/>
</mx:Canvas>
Компонент b

Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300" xmlns:ns1="*">
<mx:states>
<mx:State name="c">
<mx:AddChild position="lastChild">
<ns1:c x="0" y="0" id="compC">
</ns1:c>
</mx:AddChild>
</mx:State>
</mx:states>
</mx:Canvas>
Компонент C

Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
<mx:Label id="testText" text="" horizontalCenter="0" verticalCenter="0" fontSize="36"/>
</mx:Canvas>