见题!

解决方案 »

  1.   

    停止部分代码如下:  
      FTPDirectory:=trim(Edit1.Text);
      FTPPort:=trim(RzSpinEdit1.Text);
      Form1.IdFTPServer1.Active:=false;
      Form1.IdFTPServer1.DefaultPort:=StrToInt(FTPPort);
      Form1.IdFTPServer1.Active:=true;
      Button2.Enabled:=false;
      

  2.   

    设断点是在这一行出错的吗
    Form1.IdFTPServer1.Active:=false;
    还是在 Form1.IdFTPServer1.Active:=true;出错的,
    为什么Form1.IdFTPServer1.DefaultPort:=StrToInt(FTPPort);只给端口赋值而没有初始目录?
      

  3.   

    1 服务器不能直接停止,必须要关闭所有客户端连接,如果你确实想这么干,做个异常处理吧
    2 服务器端最好不要主动断开客户端连接,否则也容易引发异常,indy本身的机制决定了这一点.
      

  4.   

    那要服务器端怎么主动断开客户端连接?
    ---------------------------------
    给客户端发给消息过去,然后客户端主动断开,我不太明白的是,如果你是在做服务器,你为什么要服务器Active = False????,很显然,这是不合理的需求,除非你需要退出程序
      

  5.   

    更改服务器的端口和默认文件夹设置,因此需要ACtive=false,而且如果有客户端连入,退出后也会报错。