まず第一に、英語は私の第一言語ではありません。;-)
次のコードをコンパイルしています。
var sqldata:String;
function sql(saveorload,sqlstring) {
var sqlloader = new URLLoader();
var sqlrequest = new URLRequest("http://***/sql.php");
sqlrequest.method = URLRequestMethod.POST;
sqlloader.addEventListener(Event.COMPLETE, sqldonetrace);
var variables:URLVariables = new URLVariables();
variables.sqlm = saveorload;
variables.sqlq = sqlstring;
sqlrequest.data = variables;
sqlloader.load(sqlrequest);
}
function sqldonetrace(e:Event) {
sqldata = e.target.data;
}
sql("1","SELECT * FROM songs WHERE `flag2` LIKE '0'");
trace (sqldata);
ここで問題が発生します。「sqldata」は「null」としてトレースされます。AS3 は「sql」、「trace」、「sqldone」の順に実行されているようですが、sql -> sqldone -> trace が必要です... trace-command を sqldone-function に入れることができません。 *.as として、.swf のさまざまなポイントにロードされ、常に trace-command だけが続くわけではありません。
スクリプトのアイデア/ヒント/欠陥はありますか?