|
오진욱 님이 쓰신 글 :
: 안녕하세요...
:
: 현재 제가 만든 프로그램이 실행된 상태에서 윈도우를 종료하게 되면....
: 저의 프로그램이 아무래도 정상적인 종료절차를 거치지 않는것 같습니다.
:
: 윈도우 종료시 정상적인 종료절차를 밟고 싶은데....
: 방법이 없을까요...
:
: 읽어주셔 감사합니다.
임펠리테리입니다.
어딘가에서 그같은 문제에 대한 해결책을 본 적이 있는데... 셧다운시에는 폼의 종료시에 발생하는
이벤트중 OnClose이벤트만 발생하고 OnCloseQuery는 발생하지 않는다는 내용이었던 거 같습니다.
(혹은 그 반대였던가...?)
방금 다시 그 답변을 찾아보려고 했더니 그건 안나오고... 비파툴 델마당에서 다른 해결책을 발견
했습니다. 그대로 올리죠.
제 목:[참고] 윈도 종료시 CLOSE루틴 실행 방법 관련자료:없음
보낸이:백형기(bacgyver) 1998-12-23 10:45 조회:364 1/2
───────────────────────────────────────
어떤 분이 예전에 질문을 올렸던데.. 저도 같은 경우라.. 해결책을 찾아내어
늦게 올립니다.
윈도 시스템을 종료할 때 각 어플리케이션으로 WM_QUERYENDSESSION 메시지를
보내는데 그게 오면 CLOSE루틴을 타지않고 종료가 되어버립니다.
따라서 다음과 같이 처리 하였습니다.
선언부
procedure WMQueryEndSession(var Msg : TMessage); message WM_QUERYENDSESSION;
프로시저
procedure TForm1.WMQueryEndSession(var Msg :TMessage);
begin
Close;
Msg.Result := LongInt(True);
inherited;
end;
이로서 Close 루틴은 타는데...속도가 무지 오래걸립니다.
이유는 잘 모르겠고요.. 혹시 여기에 첨삭을 하실 분은 게시판에 올려주시기
바랍니다.
----- bacgyver, 1998
|