Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: CL | DM;

Вниз

"Правильное" завершение работы программы   Найти похожие ветки 

 
denkop ©   (2004-08-03 02:05) [0]

Как отличить закрытие формы пользователем от закрытия её виндой. WM_ENDSESSION не проходит, хотя может и проходит, но я не правильно его обрабатываю. Короче вот кусок кода:

 public
   procedure GetEndSession(var Msg:TMessage); message WM_ENDSESSION;

......

var
 Trm:byte;
{в онкреат зануляю этот самый трм}

......

procedure TMainForm.GetEndSession(var Msg:TMessage);
begin
 Trm:=1;
 Application.Terminate;
end;

procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if (Settings.MinToTray) and (Trm<>1) then
begin
  MainForm.Visible:=False;
  CanClose:=false;
end;
SettingsForm.WriteSettings;
end;


 
denkop ©   (2004-08-03 02:08) [1]

Ещё забыл. При первой попытке выклбчить компьютер завершается только моя программа. После второй попытки всё остальное. Замучался по два раза шырять завершение работы.

Заранее благодарен за помощь.


 
GuAV ©   (2004-08-03 02:35) [2]


>  Application.Terminate;

The application need not call the DestroyWindow or PostQuitMessage function when the session is ending.

т.е. этого делать не надо. Убери эту строку


> {в онкреат зануляю этот самый трм}


уже не проблема, но тоже незачем.
он и так нуль, а для наглядности можно дописать.
var
Trm:byte = 0;


 
GuAV ©   (2004-08-03 02:50) [3]

А проблема в том что FormCloseQuery происходит до GetEndSession.

попробуй FormClose, чтоб не закрывать - CloseAction:=caNone

или WM_QUERYENDSESSION


 
denkop ©   (2004-08-05 00:19) [4]

Получилось с помощью WM_QUERYENDSESSION совместно с OnClose. Спасибо за помощь.



Страницы: 1 вся ветка

Текущий архив: 2004.08.22;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.023 c
3-1090833888
koks
2004-07-26 13:24
2004.08.22
вложенный select ???


14-1090614306
Piter
2004-07-24 00:25
2004.08.22
Magic Forum beta7 - клиент этого форума:


4-1089605641
DION
2004-07-12 08:14
2004.08.22
Инфо по винту...


14-1091639369
dentist
2004-08-04 21:09
2004.08.22
Глюки Delphi 7


1-1091804033
ceval
2004-08-06 18:53
2004.08.22
проблемы с logoform





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский