Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Можно ли передать данные из внешнего ролика в загруженный с помощью LocalConnection? (http://www.flasher.ru/forum/showthread.php?t=170933)

Parez 05.11.2011 00:14

Можно ли передать данные из внешнего ролика в загруженный с помощью LocalConnection?
 
Собственно, вопрос в заголовке)

scarbo 05.11.2011 01:04

Конечно можно.

Parez 05.11.2011 13:07

scarbo, у меня почему-то всё время выдаёт статус connection error.

Вот код для отправщика:
Код AS3:

var conn:LocalConnection;
 
private function mainLoaded(event:Event):void
{
        addChild(mainLoader);
        conn = new LocalConnection();
        conn.addEventListener(StatusEvent.STATUS, onStatus);
        conn.send("myConnection", "setUserData", uName, uId);
 
        trace(userData.data.uName);
        //trace("MainLoaded");
}
 
private function onStatus(event:StatusEvent):void
{
        switch (event.level)
        {
                case "status" :
                        trace("LocalConnection.send() succeeded");
                        break;
                case "error" :
                        trace("LocalConnection.send() failed");
                        break;
        }
}

Происходит после загрузки ролика.

А вот код в ресивере:
Ф-ция setConnection() запускается в конструкторе.
Код AS3:

private function setConnection():void
{
        conn = new LocalConnection();
        conn.client = this;
        try
        {
              conn.connect("myConnection");
        }
        catch (error:ArgumentError)
        {
              trace("Cant connect...the connection name is already being used by another SWF");
        }
}
 
public function setUserData(uName:String, uId:int):void
{
        userName = uName;
        userId = uId;
        trace("Соединение Работает! "+userName);
}


strangedk 05.11.2011 13:33

У вас 100% проблема в последовательности запуска одной и другой флешки

Я у себя запустил локально флешки с Вашим кодом:

1. reciever с результатом "success"
2. sender с результатом "success"
3. после запуска sender, reciever получил значения uName и uId

Parez 05.11.2011 13:40

Ну я в принципе так и думал.. Получается лучше поставить таймер, например на 0.1 сек. и только после этого отправлять значения? Или есть какой-то другой выход?

strangedk 05.11.2011 14:11

Если честно, я давно работал с LC, но там без таймеров точно
Но логика проста, изначально должна запуститься флешка создающая LocalConnection object, а потом другая, которая будет подключаться туда.

Я так делал например ограничение на двойной запуск флешки:
В любом экземпляре флешки создавался новый LocalConneciton, с проверкой на уже существующий объект LocalConnection с таким же именем.
Если такое имя LC уже было, то выводилось сообщение, и инициализация прерывалась.

Parez 05.11.2011 16:02

Цитата:

Я так делал например ограничение на двойной запуск флешки:
В любом экземпляре флешки создавался новый LocalConneciton, с проверкой на уже существующий объект LocalConnection с таким же именем.
Если такое имя LC уже было, то выводилось сообщение, и инициализация прерывалась.
Интересный способ)
Короче видимо надо порядок действий немного поменять... буду думать..


Часовой пояс GMT +4, время: 06:28.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.