我用了Try。。finally还是出错这么办(50分)

  • 主题发起人 主题发起人 odbc1230
  • 开始时间 开始时间
O

odbc1230

Unregistered / Unconfirmed
GUEST, unregistred user!
try
IdSMTP1.Connect;
IdSMTP1.Send(IdMessage1);
finally
IdSMTP1.Disconnect;
end;
end;

procedure TMainFrom.Timer1Timer(Sender: TObject);
begin
ICMP.OnReply:=ICMPReply;
ICMP.ReceiveTimeout:=1000;
Try
ICMP.Host:='www.163.com';
ICMP.Ping;
finally
end;
end;


以上代码在网络不通时也就是没有拨号上网时,用了Try。。finally还是出错,这么办,
还有我这么才能知道IdIcmpClient这个控件ping通了没,我用AReplyStatus.BytesReceived>0
就认为通了不行
 
try 不能在调试环境下使用的,要注意,你需要编译后,在到相应的目录下再执行这个执行文件
试试。

你的例子我没有看。。。因为我根不不懂上面的例是实现什么功能。
 
我是执行EXE还是出错,不是指在DELPHI环境下出错,代码是片段,意思是无论在发Email
还是Ping用了Try finally都是没用
 
你是哪个过程出错,要不你应用
try
...
except

end;

试试,表示如果出错我再怎么办。
 
begin
IdIcmpClient.OnReply:=ICMPReply;
IdIcmpClient.ReceiveTimeout:=1000;
try
Try
IdIcmpClient.Host:='www.163.com';
IdIcmpClient.Ping;
finally
end;
except
end;
end;

你在不连网的状态下试了就知道了
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部