Q&A

  • indy를 사용하는데 error dialog안뜨는법?
indy를 사용하고 있는데 예를 들어 FTP로 연결할려는데 FTP 서버가 죽어있으면 그냥 indy 자체 Error dialog가 뜨는데요 이거 안뜨게 못하나요.

거기다가 try except를 해도 여전히 계속 자체 error dialog가 떠서 죽겠습니다.

ftp뿐만 아니라 TCPClient도 마찬가지고요..

고수님들의 조언 부탁드립니다
3  COMMENTS
  • Profile
    하얀까마귀 2003.10.02 04:36
    무슨 말씀이신지..

    error dialog??

    디버깅할때 뜨는거 말인가요??

    그거라면 실제 런타임때는 안뜨구요..

    물론 처리 안해주면 뜨겠지만..

    디버깅할때도 안뜨게 할려면 디버깅 옵션에서 무시해버리시면 되죠..ㅠㅠ

    저도 그 데모 본거 같은데... 에러다이얼로그가 뭔지 잘 모르겠네요.. ㅠㅠ


  • Profile
    송현경 2003.10.02 23:27
    실행할때 서버가 죽거나 라인이 끊기면 dialog box가 뜨면서 Connction Failed라던가 그런 메세지 창이 뜨거든요..
    그런 메세지 box가 안떴으면 하는 바람에서....
    디버깅 할때가 아닌 실행파일만 돌렸을때 error message를 안내보냈으면하는걸 묻는거에요..
  • Profile
    정승균 2003.11.02 19:15
      라인이 끊기거나 상대방이 로그아웃 또는 서버 프로그램을 실행시키지 않았다면 client에서 10060이나 10061에러가 발생하여 클라이언트 쪽에 발생시켜 줍니다.

      이때는

      try
      처리하고 싶은 부분을 이곳에 기록
       :
      except
       on E: EIdSocketError do
        begin
          if E.LastError = 10060 then
          begin
             Memo1.Lines.Add(컴퓨터가 꺼져 있어 전송에 실패했습니다');
             idTcpClient1.Disconnect;
          end
          else if E.LastError = 10061 then
          begin
             Memo1.Lines.Add(서버 프로그램이 실행되지 않아 전송에 실패했습니다');
             idTcpClient1.Disconnect;
          end;
        idTcpClient1.Disconnect;
        end; {end of Except}
       end; {end of try}  

      이런식으로 처리하거나 Memo1.lines.add('   '); 부분을 비워두면 어떨까요?

    원하시는 답변이 되었는지? 수고하세요.