tclientsocket问题

choupangpang123 2009-10-17 10:00:15
看到别人用tclientsocket编的客户端程序,有个地方百思不得其解。

procedure TfrmClientMain.ClientSocketError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
StatusBar1.Panels[0].Text := '与服务器端的连接发生错误';
ErrorCode := 0;
end;

1、该过程的触发条件是什么?是返回错误句柄么?
2、括号内定义了那么多的参数怎么没用到呢?

还有一个过程,
procedure TfrmClientMain.ClientSocketRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(Socket.ReceiveText);
end;
这个ClientSocketRead是用户自定义的一个过程,它会在什么情况下触发呢?感觉过程中没有提到触发条件啊?


我还是个菜鸟,可能有些delphi的精髓的东西还没体会到,所以您的答案对我很重要,谢谢咯~~
...全文
99 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mediawizard 2009-10-18
  • 打赏
  • 举报
回复
这两个问题似乎都可以在Delphi的帮助和VCL的源代码里找到答案。
其实写程序的乐趣就在于通过自己的努力去发现和创造,LZ不要把打好的机会就这么轻易的放弃了呀!
haitao 2009-10-18
  • 打赏
  • 举报
回复
它们应该都是clientsocket的事件响应函数,前者在异常时被调用,后者是在有数据到达时被调用
choupangpang123 2009-10-18
  • 打赏
  • 举报
回复
但是这两个程序都不是例程啊~~怎么在帮助里找答案啊?请指教~~~·
choupangpang123 2009-10-18
  • 打赏
  • 举报
回复
或者我将我的问题简化一点,看这行程序
procedure TfrmClientMain.ClientSocketRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(Socket.ReceiveText);
end;

当事件有客户端发送数据时,服务器会做出响应,那为什么做出响应的是这个过程呢?我把该过程的名字改为clntscktread,它也会做出响应么?

有没有大侠知道答案呢?
choupangpang123 2009-10-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xushanfeng 的回复:]
你看看那个SOCKET单元里面有封装的,判断若过程指针内存不为空则触发
[/Quote]

谢谢咯,您的回答貌似让我明白点东西了~~~不过怎么查看封装的代码啊?我觉得我这些编程技巧都还不会。

而且就是,程序中定义了很多个类似的程序,难道内存不为空都触发啊?
xushanfeng 2009-10-18
  • 打赏
  • 举报
回复
你看看那个SOCKET单元里面有封装的,判断若过程指针内存不为空则触发

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧