Flash: локальное соединение дает ошибку - PullRequest
0 голосов
/ 02 апреля 2010

Я пытаюсь подключиться к мосту FBJS. Он продолжает выдавать мне следующую ошибку. Когда я открываю только одно соединение, и у меня нет другого открытого окна.

ArgumentError: Error #2082: Connect failed because the object is already connected.
at flash.net::LocalConnection/connect()
at BabyVille()[C:\Documents and Settings\user\Desktop\babyville\flash\Main Project\src\BabyVille.as:56]

Это мой код:

public class fbjsTest extends Sprite
{
    private var connection:LocalConnection = new LocalConnection(); 
    private var connectionName:String = LoaderInfo(root.loaderInfo).parameters.fb_local_connection;
    public function fbjsTest()
    {
        connection.connect(connectionName);
    }
}

То есть на странице Facebook, если я пытаюсь запустить его локально, следующая строка возвращает null

LoaderInfo(root.loaderInfo).parameters.fb_local_connection

Есть идеи?

1 Ответ

1 голос
/ 02 апреля 2010

Остерегайтесь кешированных локальных соединений. Если ваше приложение закрыто неправильно, соединение все равно будет «подключено». Закройте браузер, чтобы убедиться, что он пропал. В качестве альтернативы вы можете дать соединению случайное имя (если, конечно, логика вашего приложения это позволяет). Надеюсь, это избавит от головной боли!

РЕДАКТИРОВАТЬ:

Подожди, ты не должен подключать это! Получатель (тот, который обрабатывается мостом) - это тот, который уже подключен.

Пример из центра разработчиков FB:

var connection:LocalConnection = new LocalConnection();
var connectionName:String = LoaderInfo(this.root.loaderInfo).parameters.fb_local_connection;

function callFBJS(methodName:String, parameters:Array):void {
    if (connectionName) {
        connection.send(connectionName, "callFBJS", methodName, parameters);
    }
}

callFBJS("document.setLocation", ["http://someurl"]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...