Просмотр полной версии : Как пользоваться LocalConnection?
ashDesigner
01.04.2004, 05:00
Кто-нибудь знает, как пользоваться Local Connection?
Почему-то возникают проблемы, когда клип-получатель начинает пересылать данные. А если загрузить клип-отправитель первым, то вообще ничего не работает. Как определить, что "соседний" клип загружен?
персылка данных осуществляется методом .send(); если в момент отправления получатель не существует, то данные, соответсвенно уходят в null. А вообще-то об этом уже много всего было сказано.
Nox Noctis
01.04.2004, 10:43
если передать надо, например, в другое окно броузера, в попап скажем, то перед пересылкой надо убедиться что свфка в этом окошке загрузилась. я лично сделал такую систему ниппель:
в свф-источнике:
reciever = new LocalConnection();
reciever.get = function() {
sender = new LocalConnection();
sender.send("popup", "out", ...);
this.close();
};
reciever.connect("main");
в свф-приёмнике:
reciever = new LocalConnection();
reciever.out = function(o) {
//
// ...
//
this.close();
};
reciever.connect("popup");
//
sender = new LocalConnection();
sender.send("main", "get");
таким образом, когда загрузился свф-приёмник, он вызывает в главном свфнике через локалконнекшн функцию, которая отправляет всё что нужно.
можно и проще, можно обойтись только вызовом функции в источнике - но вызывать всё равно нужно из приёмника только когда тот загрузится.
ashDesigner
01.04.2004, 15:53
Спасибо! :))
Я теперь понял, почему у меня глюки были. Дело в том, что у меня есть книга одна, якобы созданная разработчиками Flash. Там, конечно, много чего интересного - только вот по поводу LocalConnection они облажались, т.к. методы .send и .connect они решили использовать у одного и того же объекта:
lc=new LocalConnection;
lc.myMethod = function(){
////
////
}
lc.send('testConnection','receiverMethod');
lc.connect('testConnection');
- Вот у меня все и висло поэтому.
А вам спасибо! :))
Nox Noctis
01.04.2004, 16:08
ну собсна можно и так :) ничего в этом криминального нет, но на грабли так наступить несомненно легче :)
надо помнить одно - одновременно может быть открыто на приём только одно соединение с данным именем.
lc.send('testConnection','receiverMethod');
lc.connect('testConnection');
то есть получается мы засылаем сообщение куда-то в соединение 'testConnection', и тут же то соединение отключаем, включая его относительно объекта lc.
получается что соединение 'testConnection' закрывается после первого же сообщения и открывается заново.
ashDesigner
01.04.2004, 17:31
Блин, какая-то фигня все равно! Либо я чего-то не догоняю, либо одно из двух :))
Кто-нибудь мне может помочь разобраться в моем коротком коде LocalConnection?
Я файл приаттачил, там два .fla . Один test_sender , другой test_receiver . В каждом по три кадра. Мне нужно, чтобы оба работали вне зависимости от того, какой из них будет загружен первым.
Блин, ребят, мне эта фигня уже в печенках сидит - я просто флешовый чат делаю для www.moralcodex.ru (http://www.moralcodex.ru) , у меня уже все готово, кроме этой фигни - окна никак не хотят снюхаться! :))
Буду очень благодарен, если кому-нибудь будет не лень прислать мне мой же переделанный код. Запечатлю имя человека на сайте www.moralcodex.ru (http://www.moralcodex.ru) ! :))
Проще надо быть, и люди к вам потянутся.
ashDesigner
02.04.2004, 03:19
Спасибо большое! :))
Все, теперь до меня дошло наконец-то, а главное, все заработало! :))
Обещание свое выполню, на сайте www.moralcodex.ru (http://www.moralcodex.ru) обязательно в скором времени выложу Dindin, и, конечно, Nox Noctis, благодарности за поддержку! :))
P.S. Там, кстати, скоро и чат мой Флешовый появится - загляните через недельку оценить :)) Всем, коуму интересно будет :))
P.P.S.: Спрашивайте, если что - я много чего зато другого умею, это у меня просто с LocalConnection глюки были :)) Могу рассказать, например, про баги при загрузке swf в FScrollPane-компонент, и т.д. :))
а у меня ещё такой вопрос можно ли отправку делать не одному получателю а неограниченному количеству???
Всмысле? LocalConnection, который посылает данные на несколько окальных мувиков?
FreeLander
03.08.2004, 17:06
Оригинал написал(а) nicos
а у меня ещё такой вопрос можно ли отправку делать не одному получателю а неограниченному количеству???
типа широковещательного сообщения не получается - надо для каждой пары соединение отдельное создавать:(
А SharedObject вам на что?
FreeLander
03.08.2004, 22:33
Оригинал написал(а) Dindin
А SharedObject вам на что?
комплексное решение проблемы:)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.