更新: AMFConnection var 宣言を Main の関数の外に移動し、いくつかの trace() コマンドをコメントアウトしたところ、新しいエラーが発生しました:
Error #2044: Unhandled NetStatusEvent:. level=error, code=NetConnection.Call.BadVersion
at AMFConnection/init()[/Users/Jan/Downloads/amfphp1/AMFConnection.as:32]
at AMFConnection()[/Users/Jan/Downloads/amfphp1/AMFConnection.as:23]
at Main/testConnection()[/Users/Jan/Downloads/amfphp1/Main.as:14]
at Main()[/Users/Jan/Downloads/amfphp1/Main.as:10]
これらはすべて、基本的に AMFConnection の NetConnection の初期化を指しています_netConnection = new NetConnection();
(_netConnection はクラスの先頭で宣言されています)。
サーバー (Flash AS3 を使用) で AMFPHP に接続しようとしていますが、swf が .connect() 段階に達すると中断します。物事をより簡単に (?) 再利用可能に (?) するために、すべての NetConnection メカニズムを別のクラス AMFConnection に入れました。このクラスは、次のように Main ドキュメント クラスから呼び出します (詳細は変更されています)。
public function testConnection(e:*=null):void {
var conn:AMFConnection = new AMFConnection();
conn.table = "some_table";
conn.selections = "*";
conn.conditionals = "WHERE something = 'something'";
conn.service = "QueryAMF";
conn.method = "makeQuery";
conn.displayText = txt;
conn.gogogo("http://www.someplace.com/Amfphp");
}
AMFConnection は実際に接続を開始し、関数 gogogo() を使用して AMFPHP サービスを呼び出します。ここでは connect() NetConnection 関数が機能しません。AMFConncection クラスのメイン セクションは次のとおりです。
private var _netConnection:NetConnection;
private var _responder:Responder;
function AMFConnection()
{
init();
}
private function init(e:* = null)
{
_netConnection = new NetConnection();
_responder = new Responder(uponResult);
}
public function gogogo(url:String):void {
trace(url);
_netConnection.connect(url);
_netConnection.call(String(service+"/"+method), new Responder(onResult, null), table, selections, conditionals);
}
クイック デバッグ セッションでは、次のエラーが明らかになります。
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at AMFConnection/gogogo()[AMFConnection.as:44]
at Main/testConnection()[Main.as:20]
at Main()[Main.as:8]
ここで: Main.as:20 = conn.gogogo(...)
、およびAMFConnection.as:44 = _netConnection.connect(url)
;
また、読み込みドットを表示する代わりに、ステージを表示できません。最終的には、このアプリケーションを AMFPHP サービスと同じサーバーに移動する予定ですが、そこで絶対 URL ではなく相対 URL で試しても、connect() で失敗します。パブリッシュ設定をローカルのみからネットワークのみに変更しようとしましたが、役に立ちませんでした。
手がかりはありますか?AMFPHP にローカルで接続するためのより良い方法を知っていますか?
事前に乾杯!JB
PS 投稿が更新されました。ページの上部を参照してください。