flex netconnect (свойство onTest не найдено на flash.net.NetConnection и значение по умолчанию отсутствует) - PullRequest
2 голосов
/ 20 марта 2012

Имея этот код:

nc.call("test", new Responder(onCallSuccess,onCallFailed), "user1");                

и

public function onTest(id:String):void {
   Alert.show("test called from server");
}

Результат:

`ReferenceError: Error #1069: Property onTest not found on flash.net.NetConnection and there is no default value`.

Как я мог это исправить? Я пробовал много разных подходов, кажется, что данные отправляются из серверного приложения правильно, но Flex не может «съесть»

Ответы [ 2 ]

1 голос
/ 20 марта 2012

Вам нужно добавить nc.client = this, чтобы сервер знал, где вызывать методы.

1 голос
/ 20 марта 2012

Как я понимаю, onTest - это метод обратного вызова.Методы обратного вызова должны содержаться в свойстве client экземпляра NetConnection.Значением по умолчанию для клиента является NetConnection экземпляр itselft.Вот почему onTest пытается позвонить, но его не существует.У вас есть 2 возможных решения:

1. Расширьте класс NetConnection с вашим собственным и определите там метод onTest.И вместо этого используйте свой собственный класс.

class MyNC extends NetConnection
{
     public function onTest(id:String) {...}
     ...
}

2. Создайте класс, который будет клиентом для NetConnection, и определите onTest там.

class Client
{
    public function onTest(id:String) {...}
}
...
var nc:NetConnection = new NetConnection();
nc.client = new Client();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...