Главная страница
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.028 c
14-1106727329
Sergo
2005-01-26 11:15
2005.02.13
API для работы с реестром


3-1105424532
Russko
2005-01-11 09:22
2005.02.13
Работа с базами InterBase


4-1103566714
sashas
2004-12-20 21:18
2005.02.13
Получение сообщения WM_MOUSELEAVE


9-1100094615
NightFire
2004-11-10 16:50
2005.02.13
Ну хоть на этот раз кто-нибудь ответит


3-1105441655
Dr. Andrey
2005-01-11 14:07
2005.02.13
Из mdb в dbf