Столкнулся со следующей штукой.

Код:
class MyClass {
static var ref = new MyClass("from class MyClass: ");
function MyClass(from) {
var from=from? from : "from outside:"
trace(from+" "+mx.events.EventDispatcher);
}
}
во fla:

Код:
myClass = new MyClass();
//from class MyClass: undefined
//from outside: [type Function]
При создании экземпляра класса через объявление статического свойства класса экземпляр не видит других пользовательских классов.
(С тем же успехом вместо mx.events.EventDispatcher можно написать mx.utils.Delegate)
Однако

Код:
class MyOtherClass extends MyClass {
static var ref = new MyOtherClass("from class MyOtherClass extends MyClass: ");
function MyOtherClass(from) {
super(from)
}
}

Код:
myOtherClass = new MyOtherClass();
//from class MyClass: [type Function]
//from class MyOtherClass extends MyClass: [type Function]
//from outside: [type Function]
В этом случае все работает, то есть в дочернем классе при создании экземпляра через стат-свойство мы можем обращаться к методам и свойствам других классов.
Кроме того, если в MyClass заменить EventDispatcher на какой-либо из документированных классов (XML или скажем BitmapData) - тоже все нормально работает.
В чем тут дело? Особый порядок инициализации классов?