안녕하세요.
Unix서버에서 FTP로 파일을 자동으로 다운로드 받는 플을 작성중입니다.
NMFTP가 문제가 많다고 해서 바꿔서 테스트중입니다.(델파이5 사용),
indyFTP 8.00_24버전으로 하면, idFTP1.List명령이 제대로 실행되는데
indyFTP 9.00 이상버전 컴포넌트(dclIndy50.dpk)를 설치해서 하면,
List명령 진행 중 에러가 발생하고, "..Close..gracefully" 라는 Exception 에러
창이 뜹니다.
어떻게 문제를 해결해야 할 지 모르겠네요..
상위버전의 메소드 들이 더 막강해서 상위버전을 사용해야 할 것 같은데 말이죠.
그리고, 다른 9.00 이상 버전을 테스트 하려,
설치하려해도 ..에러도 발생합니다.
그래서, 다시 8.00_24버전을 설치(설치용 .exe파일을 가지고 있어서)해서
하면 또 list 명령이 잘 됩니다.
경험있으신 분들의 조언 바랍니다.
감사합니다.
비슷한 문제로 고민하고 있는 사람입니다. ㅡ.ㅡ;;
제 문제도 완전히 해결된건 아니지만 지금까지 알아낸 걸 알려드릴게요 ;;
일단... 외국 문서를 찾아보니까 EIdConnClosedGracefully 라는 exception은, 서버 어플리케이션일 경우 문제가 없는 경우가 있다고 합니다.
(제가 작성하는 코드가 서버 어플레케이션이 아니라 자세히는 읽지 않았습니다.)
다만, 클라이언트 어플리케이션일 경우, 이것은 에러로 간주하고 디버깅을 해야한다고 적혀있더군요.
그런데 제 어플리케이션 디버깅할때 EIdConnClosedGracefully을 무시하고 실행했을 경우, 정상 동작하더군요. (물론 디버깅이 아니라 exe파일을 직접 실행시키면 문제없습니다.)
무시하는 방법은 <Tools>-<Debugger Options> 에서 EIdSilentException을 추가 한 후에, 체크하고 확인버튼 누르시면 됩니다.
일단 이렇게 한 후에 정상동작하는지 확인해보세요.
정상동작 한다면 문제가 없겠네요 ^^
제 경우는 저렇게 하니까 정상동작합니다만,
IdAntiFreeze를 사용할 경우 다시 문제가 발생하더군요 ㅡ.ㅡ;;