Это не работает для flex 4.6, так как вы получаете сообщение об ошибке устаревания. Похоже, что компилятор mxml не распознает любую форму попытки принудительно загрузить компоненты во всех состояниях. Одним из способов решения этой проблемы является ручное переключение состояний во все те, которые вы используете, например: currentState = "Edit"; currentState = "Запись"; currentState = "По умолчанию"; обратите внимание, что вы не можете даже использовать для каждого в цикле строковые константы, вы должны использовать встроенные строковые литералы, чтобы компилятор mxml принял их.
Другое решение, которое кажется намного более удобным, - это инициализировать ваш компонент следующим образом:
ref: http://compacted.wordpress.com/2009/08/14/unit-testing-flex-states/#comments
public static function initializeStates(component:UIComponent):void {
for each (var state:mx.states.State in component.states) {
for each (var override:IOverride in state.overrides) {
override.initialize();
}
}
}