1

どこが間違っているのかわかりません。今のところ、これをローカルで試してみてください。ありがとう。

sendLC.swfは戻り、LocalConnection.send()は成功しました

これは私がFlashから得るエラーです。エラー#2044:未処理のAsyncErrorEvent:。text = Error#2095:flash.net.LocalConnectionはコールバックmyMethodを呼び出すことができませんでした。error = ReferenceError:エラー#1069:プロパティmyMethodがflash.net.LocalConnectionに見つからず、デフォルト値がありません。

sendLC.swfのコード:

import flash.net.LocalConnection

var sendingLC:LocalConnection;
sendingLC = new LocalConnection();
sendingLC.allowDomain('*');
Security.allowDomain("*");
sendBtn.addEventListener(MouseEvent.CLICK, sendIt);

function sendIt(eventObj:MouseEvent):void {
    sendingLC.send('myConnection', 'myMethod');
}

sendingLC.addEventListener(StatusEvent.STATUS, statusHandler);


function statusHandler (event:StatusEvent):void
{
    switch (event.level)
    {
        case "status" :
            textArea.text = ("LocalConnection.send() succeeded");
            break;
        case "error" :
            textArea.text = ("LocalConnection.send() failed");
            break;
    }
}

receiveLC.swfのコード:

import flash.net.LocalConnection

var receivingLC:LocalConnection;
receivingLC = new LocalConnection();
receivingLC.allowDomain('*');
Security.allowDomain("*");
receivingLC.connect('myConnection');

function myMethod():void {trace('Hello World')}
4

3 に答える 3

2

LocalConnectionでコールバックエラーが発生する問題もありましたが、接続にクライアントプロパティを追加すると停止しました。その後、フラッシュIDEでも機能し始めました。

var conn:LocalConnection;
conn = new LocalConnection();
conn.allowDomain('*');
conn.client = this;
conn.connect('localThingieConnector');
于 2012-03-12T11:01:51.530 に答える
0

おそらくmyMethod、次のように公開してみてください。

public function myMethod():void{
  trace("hello world");
}

また、次のようなエラーに関する詳細情報を取得できるように、送信呼び出しを試行/キャッチする必要があります。

try{
  sendingLC.send('myConnection', 'myMethod');
}
catch(e:Error){
  trace(e.toString());
}
于 2011-07-26T18:16:13.923 に答える
0

受信機での接続に問題がある可能性があります。

try {
  var receivingLC:LocalConnection;
  receivingLC = new LocalConnection();
  receivingLC.allowDomain('*');
  Security.allowDomain("*"); // not sure this line is needed
  receivingLC.connect('myConnection');
} catch (error:ArgumentError) {
  trace('failure to make connection ' + error.toString() );
}

また、フラッシュAPIでLocalConnectionsをテストしないように注意する必要があります。これは、パーミッションの問題が気難しい女性である可能性があるため、最初にこれらを作成するときにブラウザーを介してテストします。

于 2011-07-26T19:39:16.973 に答える