with idFTP1 do begin
Host := IP;
PORT := StrToInt(PT);
Username := ID;
Password := PASS;
try
Connect(true,7000); ------①
//Connect(); ------②
Except
on EIdSocketError do begin ------③
Application.MessageBox( '서버를 찾을수 없습니다', '에러',MB_ICONERROR+MB_OK );
AllBtnOn;
P_send.Visible := False;
exit;
end;
end;
제가 한 코딩입니다..
ftp로 파일을 업로드 시키는 구문이죠..
문제는 ftp서버로 인하여 접속이 안될 경우 에러를 터뜨리고 싶은데요..
③같은 코딩을 하였기에(이곳에 질문해서 얻은 코딩입니다^^)
①,②중 ②와 같이 connect();하였을경우
※참조 : connect함수 이렇습니다.
procedure TIdFTP.Connect(AAutoLogin: boolean = True;
const ATimeout: Integer = IdTimeoutDefault);
시간이 디폴트로 먹어서 (-1이더군요)
한 20초 정도 지난후에 제가 지정한 에러메세지가 뜹니다.
그리하여 ①과 같이 시간을 지정 (7000은 7초입니다)하였더니
7초후 제가 지정한 에러가 아닌 CONNECT TIME OUT이라는 영문 에러가 뜹니다.
그 영문 에러띄우는곳을 찾아보려고 아무리 찾아봐도 못찾았습니다..
디폴트시간을 주었을때는 아주 긴시간후 소켓에러를 발생하여 제가 코딩한 에러가 뜨는데... 시간을 지정해주면 영문에러가 뜹니다...
제가 지정한 에러를 뜨게 해주는 방법 없을까요???
부탁드립니다...
Indy9에는 IdResourceStrings라는 unit에 const로 지정이 되어있던데여..
그리고 델파이 개발환경에서 혹시 나오는 메시지 아닌지요..??