TextField is not DisplayObjectContainer

前回ポストした内容で、TextFieldクラスのgetImageReference()メソッドを使うと、html内にロードしたアセットをDisplayObjectとして取得できるよ!凄いぜ!ってな事を書きました。

そこまでは「へ~スゴイね」という話なんだけど、ここからが問題。

取得したDisplayObjectのparentを調べるとTextFieldクラスが帰ってきます。たとえばこんな感じ
var loader:Loader = tf.getImageReference("img") as Loader ;
loader.load(new URLRequest("img.jpg"))

function comp(e:Event):void {
    var loaderInfo:LoaderInfo = e.target as LoaderInfo
	
    trace(loaderInfo.content.parent.parent);
    //[object TextField]
    
    trace(loader.parent);
    //[object TextField]
}
と言うかんじでTextFieldが帰ってくるが、コレが解せない。だって、DisplayObject.parentと言うプロパティはDiplayObjectContainerの筈だ。そしてTextFieldはDisplayObjectContainerは継承していない。

http://livedocs.adobe.com/flex/201_jp/langref/flash/text/TextField.html#propertySummary

http://livedocs.adobe.com/flex/201_jp/langref/flash/display/DisplayObject.html#parent

仮に
DisplayObjectContainer(textField)
と書くとコンパイルエラーが帰ってくる。

SWFの仕様書とか読めば何か書いてあるのかもしれないけど、いや~不思議だ。

追記:
さらっと書いた内容ですが、どうやらFlashPlayerのバグの様です。

Be-Interactiveさんのこちらのエントリに載っけてもらいました。yossy君、多謝。
[バグ] TextField.getImageReference で取得出来る Loader の parent の mouseChildren にアクセスすると FlashPlayer がクラッシュする

前回のエントリーも含めてそれなりに新着情報っぽい感じですが、このバグってどれくらい周知されているのでしょうか。ひょっとして世界初だったりすんのかな。そしたら書いた本人が一番びっくりするかも。Adobeのバグ報告ってどこだっけ?

追記の追記
Adobe bug system には載ってないみたいですね。 http://bugs.adobe.com/jira/secure/QuickSearch.jspa

Trackback

http://memo.kappa-lab.com/mt-tb.cgi/249

Leave your comment :

(いままで、ここでコメントしたことがないときは、コメントを表示する前に承認が必要になることがあります。そのときはしばらくお待ちください。)




RSS + Contuct

  • rss
  • email

Credit

Copyright (C) 2007 kappa-lab.com.
All Rights Reserved.