我用的是d2007,indy10,我想在服务端用一个按钮来关闭一个客户的连接,但总是报下面这个错误:第一次发生异常在 $7C812AFB.异常类 EAccessViolation 消息 'Access violation at address 7C93AC4A in module 'ntdll.dll'. Write of address 00000010'. 进程 Server.exe (1356),我的代码是这样的:
procedure TForm1.IdTCPServerDisconnect(AContext: TIdContext);
var
  Client: TUser;
begin
  Client := TUser(AContext.Data);
  if Client <> nil then
  begin
    Client.Lock;
    try
      Client.Context := nil;
    finally
      Client.Unlock;
    end;    FUsers.Remove(Client);
    SendMessage(FormHanlde, WM_REFRESH_USERS, Ord(rpDeleteItem), Integer(Client));
    Client.Free;
  end;
end;procedure TForm1.CloseClient1Click(Sender: TObject);
var
  clienttxt : TUser;
begin
  clienttxt:= TUser(lvUsers.Selected.Data);
  IdTCPServerDisconnect(clienttxt.Context);
end;