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控件的一个问题,怎么做,谢谢