procedure TForm1.N3Click(Sender: TObject);
var
j :integer;
begin
IdTCPServer1.Threads.UnlockList;
for j := 0 to IdTCPServer1.Threads.LockList.Count-1 do
begin
TIdPeerThread(IdTCPServer1.Threads.LockList.Items[j]).Connection.DisconnectSocket;
IdTCPServer1.Threads.UnlockList;
end;
IdTCPServer1.Threads.LockList.Clear;
IdTCPServer1.Threads.UnlockList;
IdTCPServer1.Active:=false;
N3.Enabled := False;
N2.Enabled := True;
RzMemo1.Lines.Add('服务已停止。');
end;以上代码经过多次实验,在有客户端连接的状态下关闭服务没有问题,但在刚启动服务马上关闭服务时会出现屏幕假死,问题主要出现在IdTCPServer1.Threads.LockList.Count这个上,请各位大侠如何解决? 用的D7 自带的indy
var
j :integer;
begin
IdTCPServer1.Threads.UnlockList;
for j := 0 to IdTCPServer1.Threads.LockList.Count-1 do
begin
TIdPeerThread(IdTCPServer1.Threads.LockList.Items[j]).Connection.DisconnectSocket;
IdTCPServer1.Threads.UnlockList;
end;
IdTCPServer1.Threads.LockList.Clear;
IdTCPServer1.Threads.UnlockList;
IdTCPServer1.Active:=false;
N3.Enabled := False;
N2.Enabled := True;
RzMemo1.Lines.Add('服务已停止。');
end;以上代码经过多次实验,在有客户端连接的状态下关闭服务没有问题,但在刚启动服务马上关闭服务时会出现屏幕假死,问题主要出现在IdTCPServer1.Threads.LockList.Count这个上,请各位大侠如何解决? 用的D7 自带的indy
解决方案 »
- Delphi调试问题!急!!!
- 我在一个系统里同时安装delphi 7和delphi 6,然后编译程序时提示内存错误?
- 100分求关于RTF文件的操作问题
- 数据修改问题?
- 问题!!!!!!!!!
- SQL字符串 返回给DELPHI,字节超过255后,截断
- 用Delphi动态连接SQL库
- 我用Delphi和Oracle做一个数据输入的系统,可是出现了TNS包写入程序出错的问题!
- 人发币付费!!!诚求代码, MPEG2高手请进.(版主留情)
- 吐血大散分:我的Excel程序!(100的散)
- File not found: 'Connection.dcu' 求这个控件
- 请大家帮忙看看程序错在那里,指导一下怎么改正.新手
IdTCPServer1.Threads.LockList;建议服务器应该发退出命令给客户端,客户端接收后执行退出动作,服务器也就相应的断开了
而不是服务器直接关闭客户端