C++builder不同窗体如何使用同一个控件?

来源:百度知道 编辑:UC知道 时间:2024/09/13 15:15:50
小弟在写一个聊天室程序,实现多个客户端登录到一个服务器端聊天。
现在的问题是:
客户端有两个窗口,一个登录窗口,在这输入用户名密码,通过验证后转到主窗口。我把ClientSOCKet放在登录窗口,现在问题是如何在主窗口中调用ClientSOCKet的方法,请指教。

LOG->ClientSOCKet->... //LOG是登陆窗口名..

在主窗口中主要是调用ClientSOCKet的OnRead方法吧?就是接收到消息的方法

所以 你的代码还是得写在ClientSOCKet的onRead事件那儿

我假设你登陆窗口叫LOG 主窗口叫CHAT

你的意思是不是 你ClientSOCKet接收到消息后显示到主窗口的什么什么位置?

简单的假设 一下:你的登陆信息以L开始的表示 聊天消息以T开始 都是以SendText()发送的……

你就可以在登陆窗口的ClientSOCKet的onRead下写:

String s= ClientSOCKet->receivetext();
if(s[1]=='L')
{这儿处理登陆事件}
if(s[1]=='T')
{//这儿句话是服务器传过来的聊天聊天信息 类:“XXXX:hello” 然后把这句话加入 到主窗口下
//再假设 (- -)你想把这句话加入到CHAT里的Memo1里面
CHAT->Memo1->Lines->add(s.subString(2,s.length()));
}

如果你想主窗口调用登陆窗口的ClientSOCKet发送消息 就直接打LOG->ClientSOCKet->Socket->sendtext()