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
[39954] Re:시스템 종료시 현재 활성화되어있는 프로그램도 같이 종료했으면 합니다.
황경록 [mpbox] 1336 읽음    2005-04-27 19:25
NMUDP 에서 데이터를 읽을 때 보통 Read() 함수 계열을 쓸 때 타임아웃을 무한대로 해놓는 경우가
많은데 이 경우 윈도우에서 보내는 종료 메시지를 못받을 수 있습니다.

우선 NMUDP 를 메인쓰레드상에서 사용하신 건지 따로 쓰레드를 만들어서 쓰신 것인지 확인이 되어야
할 것 같고...

암튼... 타임아웃을 1초로 해서 Read() 를 호출하시면 간단히 해결될 문제로 보여집니다.

while()
{
    UDP->Read( with 1000 ms timeout );
   
    if( no data )
        continue;
}

이런 방식으로 쓰시면 UDP Read 블럭킹 문제에서 탈출 하실 수 있습니다.

즐빌하세요. (@@a 왜 킬빌이 생각나는지...)

박종일 님이 쓰신 글 :
: 윈도우를 종료시켰을때.. 일반 프로그램들은 종료되면서 윈도우가 종료되게 됩니다.
: 이럴경우에는 자신의 프로그램에서도 윈도우의 종료메세지를 받아서 처리하게 된다고 알고 있습니다.
: 그래서 아래와 같이 종료메세지들을 찾아서 첨부해 줬는데..
: 일반적인 경우에는 정상적으로 종료가 잘 됩니다.
: 하지만 폼에 UDP를 쓰기위해서 NMUDP 컴퍼넌트를 하나 사용한 뒤에는 종료가 되지 않고 있습니다.
:
: 문제는 프로그램은 종료했습니다. 그런데 윈도우가 종료하지 않습니다.
: 그래서 다시한번 윈도우를 종료하면 되긴하는데..  원천적으로 이문제를 해결할수 있는 방법이 없는지요.
:
: 아니면 추가적인 다른 코드가 필요할까요 ?
:
: void __fastcall WMQueryEndSession(Messages::TMessage &Msg);
: void __fastcall WMEndSession(Messages::TMessage &Msg);
:     BEGIN_MESSAGE_MAP
:       MESSAGE_HANDLER(WM_QUERYENDSESSION,TMessage,WMQueryEndSession);
:       MESSAGE_HANDLER(WM_ENDSESSION,TMessage,WMEndSession);
:     END_MESSAGE_MAP(TForm);
:
: void __fastcall Tfrm_ShutDown::WMQueryEndSession(TMessage &Msg)
: {
:   Msg.Result=1; //종료 가능 ,
: //종료하지 못하게 하려면 Msg.Result=0;
: }
:
: //---------------------------------------------------------------------------
: //Windows 운영체제가 종료
: void __fastcall Tfrm_ShutDown::WMEndSession(TMessage &Msg)
: {
:   if(Msg.WParam==true) {
:     //Windows 운영체제 종료 시 처리할 작업 수행
:   }
:   Msg.Result=0;
: }

+ -

관련 글 리스트
39950 시스템 종료시 현재 활성화되어있는 프로그램도 같이 종료했으면 합니다. 박종일 1300 2005/04/27
39954     Re:시스템 종료시 현재 활성화되어있는 프로그램도 같이 종료했으면 합니다. 황경록 1336 2005/04/27
39951     Re:시스템 종료시 현재 활성화되어있는 프로그램도 같이 종료했으면 합니다. 수야!╋ 1115 2005/04/27
39953         Re:Re:시스템 종료시 현재 활성화되어있는 프로그램도 같이 종료했으면 합니다. 박종일 1277 2005/04/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.