Q&A

  • Indy 에러 어떻게 잡아요??

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"가 나옵니다.  어떤방법으로 해야할까여?

0  COMMENTS