Он собственно подключается, но при вызове обращение происходит к не-инициированному объекту, а не к тому к которому я его подключал.
Значит давайте по порядку. (весь код - это QtScript ECMA скрипт)
описываем класс t_ChatUser:
Код: Выделить всё
function t_ChatUser(_ClientConnection, _Name)
{
this.clientConnection = _ClientConnection;
this.clientConnection.readyRead.connect( this.inData);// к себе-же и подключим
this.name = _Name;
this.ip = '';
}
t_ChatUser.prototype.toString = function() { return "[" + this.name + "]"; }
t_ChatUser.prototype.inData = function()
{
var _data= new ByteArray;
print (""+this.name+" ");
_data=this.clientConnection.readAll();
print (" : ["+_data.toLatin1String()+"]");
};где
_ClientConnection - экземпляр класса QTcpSocket (вернее QtScript-оболочка над ним, но это не суть важно)
_Name - строка
print () - определенная мною функция.
ByteArray - класс-оболочка над QByteArray.
создаю экземпляр t_ChatUser так
Код: Выделить всё
User = new t_ChatUser(ClientConnection,"Droddy_");Значит вы видите строку -
Код: Выделить всё
this.clientConnection.readyRead.connect( this.inData);// к себе-же и подключимПри ручном-же обращении
Код: Выделить всё
User.inData();Вопрос : как заставить такой код работать?