|
이건 소스를 다 봐야압니다.
맥락을 알아야 왜 저렇게 코딩했는지를 알수있어요.
제 짧은 소견으로는
어플리케이션 종료 시 발생되어지는 어떤 에러를 미연에 방지하고자 약간의 꼼수를 쓴것이 아닌가 싶군요
머 쓰레드나 메모리쪽에서 에러가 발생될 수도 있죠.
또 하나는 혹시 이 프로그램이 통신 관련 프로그램이라면 프로그램이 종료되었을 때
종료되는 이벤트를 다른 프로그램에 알려줘야하는데 통신 클래스에서 종료 메시지를 채 보내기 전에
프로그램이 종료 되니까 딜레이를 준것일수도 있구요.
Sleep(300) 쓰고 싶은데 그러다보면 딜레이 시간만큼 먹통이 되니까
ProcessMessages() 을 중간 중간에 줘서 다른 이벤트를 처리할려고 한것 같네요.
식섭 님이 쓰신 글 :
: 전임자가 짜놓은 소스중에 formclose() 이벤트에서
:
: for( int i=0;i<3; i++)
: {
: Application->ProcessMessages();
: ::Sleep(100);
: }
:
: 이란 소스가 있더군요
:
: Application->ProcessMessages();
: 이란게 뭐하는함수인지 궁금하여 MSDN에서 검색해 보니
:
: 현재 진행중인 어플리케이션을 일시정시하고 메세지큐가 비어있을때까지 루프를 돌면서 메세지를 처리하는거같은데
:
: 저기서 왜 for문으로 3번이나 반복하는지 모르겠습니다 뒤에 Sleep(100)을 준거 보니 뒤늦게 들어오는 메세지가 있을지 모르니깐
:
: for()문을 돌리는건가요?
|