10で確認された問題です。クラス定義でflashx.textLayoutパッケージのクラスを使ったとき、コンストラクタメソッドからDisplayObject.stageプロパティでStageオブジェクトにアクセスできません。つぎのようなエラー#1009が起こります[*1]。オブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。例:ニュースレイアウト」に紹介されたクラスTLFNewsLayoutを試すと、このエラーが生じました。英語版[Help]のコメントで問題を指摘したところ、最新の[ヘルプ]で後述の「対処法」が施されました。原因クラス定義でflashx.textLayoutパッケージのクラスを使ったとき、コンストラクタメソッドからDisplayObject.stageプロパティを調べると、[ドキュメントクラス]に設定していてもnullが返されます。以下のクラスTextLayoutFormatTestを[ドキュメントクラス]に設定すると、つぎのように[出力]されます。parent);}}}上記のスクリプトで、TextLayoutFormatクラスで型指定した変数の宣言をコメントアウトすると、DisplayObject.stageプロパティはStageオブジェクトの参照を正しく返しします。flashx.textLayoutパッケージのクラスを使うと、コンストラクタの呼出し時には、まだTextLayoutFormatTestクラスのインスタンスがStageオブジェクトを頂点とする表示リストに加わっていないようです。対処法DisplayObject.addedToStageイベント(定数Event.ADDED_TO_STAGE)にリスナーメソッドを加え、そのメソッド内からDisplayObject.stageプロパティにアクセスすればStageオブジェクトの参照を得ることができます[*2]。クラスTextLayoutFormatTestを定義し直したのが、つぎのスクリプト001です。parents;}}}スクリプト001に定義したgetParents()メソッドは、クラス(TextLayoutFormatTest)のインスタンスの親を遡り、順にVectorオブジェクト(DisplayObjectベース型)に納めて返します(第18〜26行目)。このメソッドは、DisplayObject.addedToStageイベントで呼出しています(第13行目)。10または10.1(CS5)と10.2(CS5.5)では異なります[*3]。10または10.1の[出力]はつぎのとおりです。Stage]initialized!DisplayObject.addedToStageイベントが2度呼出されています。TextLayoutFormatTest__Preloader__])とLoaderインスタンスが間に入っています。ふたつ目の呼出しで、[ドキュメントクラス]のインスタンスはStageオブジェクト直下の子になるようです。Frameworkの初期化が終わったと判定しています。10.2の[出力]はつぎのとおりです。DisplayObject.addedToStageイベントは1度しか呼出されません。Stage]initialized!このDisplayObject.addedToStageイベントでクラスのインスタンスはすでに直接Stageオブジェクトの子になっていますので、リスナーメソッドの判定(スクリプト第14行目)はやはり適切に行われます。例:ニュースレイアウト」のクラスTLFNewsLayoutは、すでに対処法が施されています。問題を指摘したドキュメントとして、DisplayObject.addedToStageイベントにリスナーメソッドを加えたスクリプト002は記録および参考として残しておくことにします(サンプルSWF)。Frameworkの初期化の過程が異なることについては、「TLFテキストが配置されたメインタイムラインの初期化」をご参照ください。CS5.5)における動作の違いを加え、スクリプト001も改善した。注[*1]と[*2]を追加。