人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

FlashのXMLクラスのonLoadハンドラが呼ばれません。どうしてでしょう? (Flash MX Action Script)

test.xmlに何か文字が書き込まれている場合は、以下のコードは期待通り動作します。
ところが、test.xmlに何も書き込まれていない場合(つまり0バイト)の時、onLoadハンドラが呼ばれません。何故ですか? 回避方法は?

----------------------------
var doc:XML = new XML();

doc.onLoad = function(success:Boolean)
{
trace(”onLoad!”);
trace(this);
}

doc.load(”test.xml”);


●質問者: nekomilk
●カテゴリ:コンピュータ
✍キーワード:DOC Flash MX SCRIPT test
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● しいたけ
●20ポイント

http://www.fumiononaka.com/TechNotes/Flash/FN0108012.html

FN0108012 - XML.onData - Flash : テクニカルノート

今、試す環境がないので推測ですが、XML.onDataをカスタマイズして、引数でもらえる生のXMLデータが0byte(null? undefined?)かどうかチェックしてみてはどうでしょうか?


ヘルプのXML.onDataあたりも見てみてください。

◎質問者からの返答

onDataすらも呼ばれませんでした。


2 ● しいたけ
●20ポイント

http://www.hatena.ne.jp/1122527823

人力検索はてな - FlashのXMLクラスのonLoadハンドラが呼ばれません。どうしてでしょう? (Flash MX Action Script) test.xmlに何か文字が書き込まれている場合は、以下のコードは期待通り動..

URLはダミーです。


添付されているスクリプトはMX2004のActionScript2.0形式のようですが、nekomilkさんが使っているFLASHはMXですか?MX2004でしょうか?

もしお使いのFLASHがMX2004だったらパブリッシュ設定でActionScriptのバージョンが2.0になっているか確認してみてください。


もしMXだったら、以下で試してみてください。


----------------------------

var doc = new XML();


doc.onLoad = function(success){

trace(”onLoad!”+success);

}


doc.load(”test.xml”);


----------------------------


しかし、MXにAS2.0で書いてもエラーも何もでないんですね(汗)

知りませんでした。

◎質問者からの返答

バージョンを確認した所、

FLASH MX Professional 2004 Version 7.2

で、パブリッシュ設定では ActionScript2.0が

指定されていました。

事前に0バイトとわかるだけでも助かるのですが…。


3 ● hal-u
●20ポイント

http://www.fumiononaka.com/TechNotes/Flash/FN0303007.html

FN0303007 - LoadVarsオブジェクトを使った外部テキストファイルの読込み - Flash : テクニカルノート

LoadVarsクラスでもonLoadハンドラは反応しないですが、getBytesLoaded()でデータサイズはとれます。

あとは、読み込んだデータをXML解析するようにすればいいのではないでしょうか。


var doc:LoadVars = new LoadVars();


doc.load(”test.xml”);


trace(doc.getBytesLoaded());

◎質問者からの返答

getBytesLoaded()は、ロードされたバイト数を示すのではないでしょうか。中身のあるファイルに対して呼び出してみましたが0でした。

getBytesTotal()というのも見つけましたが、load直後に呼び出しても undefinedでした。

どうしよう。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ