当前位置:编程学习 > Delphi >>

delphi try except end 用法问题

我连接远程数据,如果网络通,那代码都对的,为什么网一断,出现error #10065问题 procedure TFrmMain.Timer1Timer(Sender: TObject); begin if FTPClient.Connected then //已经建立了连接吗? begin FTPClient.Abort; // 断开连接 FTPClient.Quit; //退出连接 end; try FTPClient.Host:=EditHostAddress.Text; FTPClient.Port:=StrToInt(EditPort.Text); FTPClient.UserName:=EditUserName.Text; FTPClient.Password:=EditPassWord.Text; //连接服务器属性设置 FTPClient.Connect; //连接 MemoMessage.Lines.AddStrings(FTPClient.LoginMsg.Text); //ShowMessage('网络正常!'); //服务器路径初始化 RemotePath:='/'; //刷新服务器文件列表 DisplayRemoteFileList(); except MessageDlg('网络出错,不能和服务器建立连接!',mtError, [mbYes],0); end; end;
答案:这是因为你本机网络断开以后,所有网卡都没有IP地址了,TCP/IP通信中断。
你把try 放到第一行去。把所有错误全吃了。delphi编译时还是会有错,但 exe文件不会出错了。
其他:procedure TFrmMain.Timer1Timer(Sender: TObject);
begin

  if FTPClient.Connected then  //已经建立了连接吗?
  begin
  try 
        FTPClient.Abort;   // 断开连接
        FTPClient.Quit;  //退出连接
begin  
   FTPClient.Host:=EditHostAddress.Text;
    FTPClient.Port:=StrToInt(EditPort.Text);
    FTPClient.UserName:=EditUserName.Text;
    FTPClient.Password:=EditPassWord.Text;
     //连接服务器属性设置
    FTPClient.Connect;   //连接
    MemoMessage.Lines.AddStrings(FTPClient.LoginMsg.Text);
     //ShowMessage('网络正常!');
    //服务器路径初始化
    RemotePath:='/';
   //刷新服务器文件列表
    DisplayRemoteFileList();
  end;
  except
    MessageDlg('网络出错,不能和服务器建立连接!',mtError, [mbYes],0);
  end;
   end;
end; 网络都断了,你还想连什么?
10065 报错,请查看 
http://msdn.microsoft.com/en-us/library/ms740668(VS.85).aspx
Socket Error Code
人家明确告诉你,网络不可连接。 

上一个:delphi 的 grid 的列名怎么改变
下一个:delphi用savedialog1控件的一个问题,怎么做,谢谢

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,