Indy컴포넌트인 IdSNTP를 사용하여, 시간을 얻어오는 간단한 푸로그램을 해보려고 합니다. 그런데, 서버와의 연결이 끊어졌을 때 에러를 어디서 잡아야 될지 알 수가 없어서 고수님의 조언을 부탁드립니다.
with IdSNTP1 do begin
try
try
Host:=edt_svrdns.text;
Port:=strtoint(edt_svrport.text);
ReceiveTimeOut:=strtoint(edt_rcvtimeout.text);
active:=true;
// savereg;
showmessage('ffffffffff');
except
on EIdSocksError do
raise EIdSocksError.Create('Eroooooooooooooooooooor');
end;
finally
showmessage('dddddddddd');
if active then begin g_hostactive:=true; svrTime:=DateTime; svrTimeStamp:=DateTimeToTimeStamp(DateTime); acctick:=GetTickCount;active:=false; end
else begin g_hostactive:=false; g_clientactive_ne:=true end;
showmessage('eeeeeeeeee'); //<== 왜 않나오는거냐???
end;
end;
제 생각으론 위의 "showmessage('eeeeeeeeee');" 구문이 나왔으면 좋겠는데, 실제 네트워크 라인을 끊은 상태에선 저 구문이 나오지 않고. Application Error인 Socket Error "11004"가 나옵니다. 어떤방법으로 해야할까여?