Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
3-1090244437
Григорьев Антон
2004-07-19 17:40
2004.08.22
Как вызвать редактор ADOConnection.ConnectionString в run-time?


3-1091105940
Dysan
2004-07-29 16:59
2004.08.22
ADOQuery и DataSource - "Missing Connection or ConnectionString"


1-1091770949
Loki3D
2004-08-06 09:42
2004.08.22
перенос данных из Grid в MSWord документ


1-1091703495
Nata
2004-08-05 14:58
2004.08.22
Процесс


3-1091434818
46_55_41_44
2004-08-02 12:20
2004.08.22
А теперь - Вопрос как создать БД программно...




   Наверх