I have a strange problem: i have the following class: >>> package fs.examples.components { import flash.events.Event; import flash.events.MouseEvent; import flash.text.TextField; import mx.events.StateChangeEvent; import mx.flash.UIMovieClip;
public class StatefulBase extends UIMovieClip { private var _label:String; private var _labelTextField:TextField; [Bindable("labelChanged")] public function get label():String { return this._labelTextField.text; } public function set label(value:String):void { if (value == this._label) { return; } this._label = value; this._labelTextField.text = this._label; this.dispatchEvent(new Event("labelChanged")); } public function StatefulBase() { super(); this.initializeComponent(); } private function eventListener(event:Event):void { switch(event.type) { case StateChangeEvent.CURRENT_STATE_CHANGE: this._labelTextField.text = this._label; break; case MouseEvent.MOUSE_OUT: this.currentState = "out"; break; case MouseEvent.MOUSE_OVER: this.currentState = "over"; break; } } protected function initializeComponent():void { if (this.hasOwnProperty("labelText")) { if (this["labelText"] is TextField) { this._labelTextField = TextField(this["labelText"]); } } this.addEventListener(StateChangeEvent.CURRENT_STATE_CHANGE, eventListener); this.addEventListener(MouseEvent.MOUSE_OUT, eventListener); this.addEventListener(MouseEvent.MOUSE_OVER, eventListener); } } } >>> This is the superclass of a symbol made in Flash. The symbol has 2 keyframes and in each is a textfield with the same instancename. When i initially set the text in Flex, it is displayed correctly. But after the first time the state changed, i am not able to set the text property of the TextField instances? Both instances exist... the cursor changes... the states change as well: visual feedback and correct traces (which i deleted before posting the code), -> Why can't just set the text property, when the eventlistener was invoked with a StateChangeEvent.CURRENT_STATE_CHANGE? Best regards and thanx in advance!