다음과 같이 사용하였습니다.
//////////////////////////////////
////// Thread 임시 정지 ///////////////////////////
OjwThrVision.Suspend; // 스레드 잠시 멈춤 //
///////////////////////////////////////////////////
Timer1.Enabled := False;
Timer2.Enabled := False;
frmIO.Timer1.Enabled := False;
mnEnd.Enabled := False;
// frmEnd.ShowModel;
Application.ProcessMessages;
temp := MessageDlg('Do You End Program Really?',mtConfirmation, [mbYes,mbNo],0);
if (temp = mrYes) then
begin
ProgEndImmediatly;
end
////////////////////////////////////////////////////
하다하다 제 능력으론 도저히 안되서 도움 요청드립니다.
이런일은 처음인데 메세지 박스가
프로그램 종료 버튼을 눌렀는데도 나타나질 않아서 확인해 봤더니
temp 에 mrCancel ( 값 : 2) 이 자동으로 들어가더군요.
화면에서 제가 Alt 키를 길게 누르거나 하는식으로 Alt 키가 연관이 되어 있는것 같은데 어떻게 된 일인지 모르겠네요.
참고로 원래 위의 함수는 제가 Alt+F4 키를 누르면 실행하도록 했었습니다.
지금은 지워 버렸지만 말이죠. 고수님들의 도움 부탁드립니다.
if MessageDlg('Do You End Program Really?',mtConfirmation, [mbYes,mbNo],0 ) = mrYes then
begin
ProgEndImmediatly;
end
이렇게 한번 해보시죠