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

Вниз

Не выгружается приложение под XP   Найти похожие ветки 

 
m52   (2005-01-28 11:13) [0]

Здравствуйте!
-------------
Когда моё приложение запущено и пытаемся
завершить работу Windows, то сделать этого не удается.
Т.к. мое приложение имеет коннект с mdb-базой, то я
решил корректно обработать FormCloseQuery, где написал:

   try // Здесь корректно отключаемся от БД
     if cn.Connected then cn.Connected:=false;
     CanClose := true;
   finally
     Application.Terminate; // терминейтим приложение
   end;

Приложение стало выгружаться из памяти при завершении Windows, но Windows по-прежнему не завершает работу. Чтобы Windows завершило работу, нужно еще раз сделать завершение работы Windows.

Вопрос: как сделать, чтобы при завершении работы Windows, моё приложение завершалось, после чего происходила перезагрузка Windows? Под win2000 все работает нормально.


 
Kerk ©   (2005-01-28 11:26) [1]

если мне не изменяет склероз.. надо ловить сообщение WM_QUERYENDSESSION


 
xShadow ©   (2005-01-28 11:28) [2]

попробуй обработать сообщение о завершении работы Windows
 private
   { Private declarations }
   procedure WMQueryEndSession( var Message: TWMQueryEndSession); message WM_QUERYENDSESSION;
...
procedure TForm1.WMQueryEndSession(var Message: TWMQueryEndSession);
begin
  inherited;
  Message.Result := 1;
  ...
 
end;



 
m52   (2005-01-28 11:40) [3]

А что такое три точки после Message.Result := 1; ?
Вместо точек надо что-то еще вписать?

И что означает Message.Result:=1 ?


 
Kerk ©   (2005-01-28 11:41) [4]

m52   (28.01.05 11:40) [3]
Вместо точек надо что-то еще вписать?


конечно.. процедура будет вызываться при завершении винды.. закрывай там соединение и все такое


 
m52   (2005-01-28 11:49) [5]

Большое спасибо. Позже попробую.


 
m52   (2005-01-28 11:50) [6]

Скажите, а терминейтить приложение в этом обработчике надо или нет?


 
dimaxx ©   (2005-01-28 12:54) [7]

Нафига? Проге и так послали запрос на закрытие. Указывая CanClose:=true мы подтверждаем, что нас мона закрыть.



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

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

Наверх




Память: 0.48 MB
Время: 0.026 c
1-1106641669
Weare
2005-01-25 11:27
2005.02.13
Как сделать сообщение, которое появляется поверх всех окон.


14-1106220358
uny
2005-01-20 14:25
2005.02.13
Aктивное микроканальное охлаждение


14-1106600041
Pat
2005-01-24 23:54
2005.02.13
$#%@! Да когда же это кончится? В добавление к правам категории В


1-1107059167
ТехникПТО
2005-01-30 07:26
2005.02.13
Хранение данных


1-1107111860
QWEQWEQWE
2005-01-30 22:04
2005.02.13
Drag&Drop