![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не выгружается приложение под XP [D5, WinXP]
m52 © (2005-01-28 11:13:00)Здравствуйте!
-------------
Когда моё приложение запущено и пытаемся
завершить работу Windows, то сделать этого не удается.
Т.к. мое приложение имеет коннект с mdb-базой, то я
решил корректно обработать FormCloseQuery, где написал:
try // Здесь корректно отключаемся от БД
if cn.Connected then cn.Connected:=false;
CanClose := true;
finally
Application.Terminate; // терминейтим приложение
end;
Приложение стало выгружаться из памяти при завершении Windows, но Windows по-прежнему не завершает работу. Чтобы Windows завершило работу, нужно еще раз сделать завершение работы Windows.
Вопрос: как сделать, чтобы при завершении работы Windows, моё приложение завершалось, после чего происходила перезагрузка Windows? Под win2000 все работает нормально.
dimaxx (2005-01-28 12:54:00) [1]Нафига? Проге и так послали запрос на закрытие. Указывая CanClose:=true мы подтверждаем, что нас мона закрыть.
m52 (2005-01-28 11:50:00) [2]Скажите, а терминейтить приложение в этом обработчике надо или нет?
m52 (2005-01-28 11:49:00) [3]Большое спасибо. Позже попробую.
Kerk (2005-01-28 11:41:00) [4]m52 (28.01.05 11:40) [3]
Вместо точек надо что-то еще вписать?
конечно.. процедура будет вызываться при завершении винды.. закрывай там соединение и все такое
m52 (2005-01-28 11:40:00) [5]А что такое три точки после Message.Result := 1; ?
Вместо точек надо что-то еще вписать?
И что означает Message.Result:=1 ?
xShadow (2005-01-28 11:28:00) [6]попробуй обработать сообщение о завершении работы Windows
private
{ Private declarations }
procedure WMQueryEndSession( var Message: TWMQueryEndSession); message WM_QUERYENDSESSION;
...
procedure TForm1.WMQueryEndSession(var Message: TWMQueryEndSession);
begin
inherited;
Message.Result := 1;
...
end;
Kerk (2005-01-28 11:26:00) [7]если мне не изменяет склероз.. надо ловить сообщение
WM_QUERYENDSESSION