Q&A

  • Re: 서버 다운처리 잘 안되서..... 소스 한번 봐 주세요...
이수정 wrote:

>

> procedure TdateForm.FormShow(Sender: TObject);

> var

> Flag : integer;

> begin

> Flag := 1;

> try

> ClientSocket1.Active := True;

> Flag := 0;

> Except

> //--- 방법 1

> on E : ESocketError do ErrorDialog(E.Message, E.HelpContext);

>

> //---- 방법 2

> // Raise;

> // Flag := 1;

> end;

>

> if Flag = 1 then

> Showmessage('서버가 다운......');

>

> end;

>

>

> <방법1> 에서는 ErrorDialog 라는 함수를 못찾아서 (그냥 도움말에서 본거 그대로 한건데.. )

> 컴파일 자체가 안되고 있구요...

>

> <방법2> 로 해서는 메시지가 안뜨고... 프로그램이 다운되 버립니다..

>

>

> 어디서 잘못된 것인지..

> 어떻게 하면 되는지.. 조언 부탁드립니다.

>



- 코딩을 보니 서버가 동작하지 않는데 클라이언트 소켓을 연결할때

처리를 하시려는것 같군요.

클라이언트 소켓 이벤트중 OnError 이벤트가 있지요 거기서 처리를 해주셔야 될것

같습니다.

아래 코딩을 참조하세요



procedure TDmod.ClientSocketError(Sender: TObject;

Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;

var ErrorCode: Integer);

begin

case ErrorCode of

10061 :

begin

ShowMessage('서버에 접속할수 없습니다');

SysUtils.Abort; // 에러메시지 묵시적으로 무시

end;

:

:

end;

end;







0  COMMENTS