Главная страница
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.048 c
1-1106821814
Ega23
2005-01-27 13:30
2005.02.13
Копирование данных из TStream в буффер.


9-1098104871
NightFire
2004-10-18 17:07
2005.02.13
Всем всем программистам игр и не только


6-1102010783
AdmeraL
2004-12-02 21:06
2005.02.13
Internet


14-1106391471
TUser
2005-01-22 13:57
2005.02.13
Гитара


14-1106245752
vecna
2005-01-20 21:29
2005.02.13
Снова дуракцкий вопрос...