C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[44372] Re:음.. 전 왜 TApplication::OnException이벤트 핸들러 함수로 들어오지는 않는거죠...ㅎㅎ
박지훈.임프 [cbuilder] 2527 읽음    2006-04-04 13:38
혹시 알려드렸던 이벤트 핸들러를 이벤트에 연결 안하신 게 아닌가요?
폼의 OnCreate 등의 이벤트에서
Application->OnException = ApplicationEventsException;
하거나,
TAppEvents 컴포넌트에서 연결하든지 해야 하는데요.


pili 님이 쓰신 글 :
: 안녕하세요. 임프님.
: 님께서 가르쳐 주신 대로.. 익셉션 이벤트 핸들러 함수를 그대로 복사해서 추가했는데..
:
: 전왜 핸들러 함수 안으로 들어오지두 않네요... ^^;;
:
: 제가 몰 잘못했나.. 단순히.. indy client소켓 올려서.. 타이머를 돌려 접속되어 있는지 확인하는 데이터만 보내는데..
:
: 서버를 종료 시켜버리면.. 익셉션 에러때문에 타이머 함수로두.. 들어가질 않네요..
:
: TSocket에서는 Error = 0을 주면 익셉션에러가 안뜨던걸루 알구 있는뎅..
:
: 에구. 암튼 감사합니다. 
:
: 혹시 다른방법이나. 제가 잘 못한점이 있는지.. 아시면 답변좀 부탁드릴께요.
:
:
: 박지훈.임프 님이 쓰신 글 :
: : 뭐... 예외가 발생할 만한 곳에서 try문으로 처리할 수도 있겠지만...
: : 만약 프로젝트에서 그런 곳이 여러군데라면 상당히 번거롭겠지요.
: :
: : 한방에 처리하는 간단한 방법은.. TApplication::OnException 이벤트 핸들러를 작성하는 것입니다.
: : 다음은 제가 쓰고 있는 코드의 일부를 약간 수정한 것입니다.
: :
: : void __fastcall TForm1::ApplicationEventsException(TObject *Sender, Exception *E)
: : {
: :     if(dynamic_cast<EIdSocketError *>(E)!=NULL)
: :     {
: :         int ErrorCode = ((EIdSocketError *)E)->LastError;
: :         switch(ErrorCode)
: :         {
: :             case 10050: ShowMessage("네트워크가 다운되었습니다."); break;
: :             case 10051: ShowMessage("네트워크에 도달할 수 없습니다."); break;
: :             case 10054: ShowMessage("서버에서 강제로 연결을 종료하였습니다."); break;
: :             case 10060: ShowMessage("서버에 연결 시도중 타임아웃되었습니다."); break;
: :             case 10061: ShowMessage("서버에 연결할 수 없습니다."); break;
: :             case 10064: ShowMessage("서버가 다운되었습니다."); break;
: :             case 10091: ShowMessage("현재 시스템에 네트워크가 존재하지 않습니다."); break;
: :             default:    ShowMessage("알 수 없는 소켓 에러입니다.\r\n" + E->Message);
: :         }
: :     }
: : }
: :
: : 그럼..
: :
: :
: : pili 님이 쓰신 글 :
: : : 읽어 주셔서 감사합니다..
: : :
: : : 다름이 아니라 인디소켓를 사용하면서.. 뜨는 소켓에러를
: : :
: : : 안뜨게끔 또는 사용자의 메시지 박스로 대체 하고 싶은데..
: : :
: : : 예를 들자면 연결이 되어 있다가.. 렌선이 빠진경우.. 이런경우..
: : :
: : : 데이터를 전송하려고 하면 에러창이 계속 뜨는데..
: : :
: : : try문으로 사용자 메시지를 지정해놓음  메시지가 둘다(사용자, 인디소켓에러) 이넘좀 안뜨게 할 수 있는 방법좀...
: : :
: : : 암튼 읽어 주셔서 감사합니다.

+ -

관련 글 리스트
44353 indy socket사용시 소켓에러 메시지를 안뜨게 하려면.. pili 2078 2006/04/03
44357     Re:indy socket사용시 소켓에러 메시지를 안뜨게 하려면.. 박지훈.임프 4351 2006/04/03
44368         음.. 전 왜 TApplication::OnException이벤트 핸들러 함수로 들어오지는 않는거죠...ㅎㅎ pili 1848 2006/04/04
44372             Re:음.. 전 왜 TApplication::OnException이벤트 핸들러 함수로 들어오지는 않는거죠...ㅎㅎ 박지훈.임프 2527 2006/04/04
44363         감사합니다... ^^ 내용 무... pili 1547 2006/04/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.