![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Apr 2009
Сообщений: 56
|
Подскажите пжлста, почему у меня не идут данные из remote object. Если я юзаю mxml то усё пучком. А если адский скрипт то ничего нет хорошего (ошибок нет никаких но и данных тоже нет)
public static function getHello(msg:TextArea): String { var res : String='If you see this message, nothing works at all'; var rm:RemoteObject = new RemoteObject(); rm.addEventListener(ResultEvent.RESULT, serviceSuccessHandler); rm.addEventListener(FaultEvent.FAULT, genericFaultHandler); rm.destination="echoServiceDestination"; try{ rm.echo('hello'); }catch(er:Error){ res=er.getStackTrace(); } function serviceSuccessHandler(event:ResultEvent):void{ res=event.result.toString(); } function genericFaultHandler(event:FaultEvent):void{ res='error'; } return res; } |
|
|||||
|
Регистрация: Apr 2009
Сообщений: 56
|
смысл, чтобы подсказали что не так. Сам пытался разобраться, но не получилось.
|
|
|||||
|
Modus ponens
|
Ну так вы даже близко к мануалу не подходили...
- методы вызваные через RemoteObject ничего вам вернуть не могут т.как они асинхронные. - вы не можете передавать простые типы по ссылке, только по значению. - никогда не создавайте анонимные (вложеные) функции. - если ваш диспатчер и слушатели все были созданы в теле другой функции и никаких внешних ссылок на них больше нигде нет то, скорее всего сборщик мусора поудаляет их до того, как слушатели будут вызваны. Ну и последнее: RemoteObject наследует Proxy - так что обращения к динамически созданым методам у него не могут вызвать исключения. Вернее могут, но только в том случае если вы пытаетесь вызвать метод совпадающий с именем свойства уже существующего у RemoteObject - но ставить такой вызов в try-catch - глупость... т.как проще заглянуть в документацию и узнать, какие методы не богут быть у этого класса. ПС. А вообще... если вы пользуетесь чистым AS3 - зачем вам этот RemoteObject сдался? Используйте NetConnection, у него и API более внятные, и весит он меньше... и вообще, это родной класс плеера, а RemoteObject - это многофункциональная куча всякого хлама, с очень загадочным и на редкость непрактичным внутренним устройством...
__________________
Hell is the possibility of sanity |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|