среда, октября 31, 2007

Странно: значения параметров функции по умолчанию не могут быть public static const. AS3

Есть такой метод:

public function TKeyboardSettings(left:int=Keyboard.LEFT,right:int=Keyboard.RIGHT,up:int=Keyboard.UP,down:int=Keyboard.DOWN) {
this.left=left;
this.right=right;
this.up=up;
this.down=down;
super();
}


На Flex Builder 3 beta1 всё было ок, но после установки второй беты и (как я потом проверил, во FlashDevelop) flex стал ругаться на то, что я параметрам по умолчанию присваиваю константы класса Keyboard.

Текст ошибки:
Parameter initializer unknown or is not a compile-time constant.

Судя по сообщению, константы класса Keyboard не являются константами времени компиляции.
Непонятно, почему до последнего времени это не являлось ошибкой.

* * *

Долго ковырялся - в FD заработало ни с того ни с сего. В FB вдруг в процессе редактирования выдало Source could not be found for flash.ui.Keyboard.RIGHT in ...\playerglobal.swc
Выходит криво встал билдер то...

* * *

Переустановил. То же самое и в FD опять началось... :(

1 комментарий:

Junik комментирует...

У меня тоже самое наблюдается и во Flex 2.