|
bool bFinish;
void __fastcall WMEndSession(Messages::TMessage &Msg);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_ENDSESSION,TMessage,WMEndSession);
END_MESSAGE_MAP(TForm);
유닛 파일에:
void __fastcall TForm1::WMEndSession(TMessage &Msg) // 매세지맵 선언 하기 귀찮아서 앞글 배꼇습니다.
{
ct=1;
}
form close () // 폼 종료 부분 입니다, Main Form의 Event에 보면 Close 부분이 이 있습니다.
{
if (ct != 1)
{
actvie=0;
}
}
플그램시러시러 님이 쓰신 글 :
: 감사합니다...
:
: 프로그램의 종료는 잘 됩니다. 다만 하나의 문제가 발생해서 감사의 인사와 동시에, 질문을 하나 추구합니다.
:
: 컴퓨터 리부팅 또는 종료를 눌렀을때, 프로그램은 종료가 잘 되나 시스템은 종료되지 않습니다. (아까보다는 확실히 나아졌습니다.. ^^)P
:
: 일단 상황을 말씀드리면...
: Form의 CloseQueryCall 이 먼저 실행되고, 후에 ShutDown Event가 발생해서 들어옵니다.
:
: 그러다보니, 시스템이 종료되다가 마치 "취소"버튼을 누른 것 마냥 더이상 진행이 되지 않습니다.
: 혹시나해서 Msg.Result = 0; 부분을 없애보기도 하고, 다시 Form->Close를 불러보기도 했습니다만,
: 중지되었던 종료루틴이 다시 수행되어 시스템이 부팅되거나 종료되지를 않습니다.
:
: 아마 해보셨던 부분이니까, 답을 알고 계실것 같아 드리는 질문입니다. 여기서, 무엇인지도 모르고, ShutDown 또는 restart를 직접 수행하는 것은 약간 낭비가 아닐까 해서요...
:
: 미리 감사드립니다.
:
: 플그램시러시러
|