Я не знаю много о Flex, но я думаю, что проблема в том, что этот код:
setInterval(function():void{ ++MyInt; },1000);
выполняется так, как если бы он был помещен в определение класса, вне какой-либо функции.Это делает код статическим инициализатором.То есть он запускается в статическом контексте, что означает, что он не имеет доступа ни к какому экземпляру, поскольку при запуске кода экземпляр еще не был создан.
С static
код работает нормально.
Вы, вероятно, не хотите, чтобы MyInt
был статичным.Поэтому вы должны поместить вызов setInterval
в метод экземпляра.Предполагая, что init
вызывается из обратного вызова mx:Application
initialize
, это должно работать нормально:
[Bindable]
public var MyInt:int = 500;
private function init():void {
setInterval(function():void { ++MyInt; trace(MyInt); },1000);
}