![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Моя прога мешает перезагрузке/перелогину Виндовс :-( [D6, Win2k, WinXP]
Зинец Виктор © (2002-01-30 16:32:00)Есть у меня программка; ее не видно, только значек в трее; и виндовс не может выключиться, перезагрузиться или перелогиниться, пока эта программка работает :-(
я пробую так:
procedure TfrmMain.WM_QueryEndSession(var M: TMessage);
begin
M.Result := 1;
inherited;
Application.Terminate;
end;
но прога закрывается, а процесс перезагрузки/выключения останавливается - а как правильно?
В поиске нашел только ссылку на отсутствующую тему в форуме
Юрий Зотов (2002-01-31 15:23:00) [1]> ...без этого процесс перезагрузки/перелогина просто останавлявается
Так это и есть баг, который надо найти и вылечить, а не лепить подпорки.
Зинец Виктор (2002-01-31 14:06:00) [2]Зачем переписываю - без этого процесс перезагрузки/перелогина просто останавлявается, а программа продолжает работать; а так она хоть закрывается
У меня в OnDestroy главной формы еще удаляются обьекты - может из-за этого она сама выгрузиться не может?
Когда-то мне давали откуда-то цитату - что за чем происходит при перезагрузке вынь, но как всегда - потерялась :-(
dimich (2002-01-31 08:31:00) [3]Cкорее всего просто процесс не может разрушится. Это связано как правило с такими вещами как WM_CLOSE или CloseQuery. Разберись с этим...у меня тоже такой глюк был...дня 3 парился....потом вопрос решил.
SoftOne (2002-01-31 02:24:00) [4]> Зинец Виктор
А ты уверен, что в inherited не меняется M.Result?
Стоило бы залесть в исходники и посмотреть, что выполняет inherited.
А, по существу, зачем ты ЭТО СООБЩЕНИЕ переписываешь?
Дремучий (2002-01-30 22:52:00) [5]
procedure TfrmMain.WM_QueryEndSession(var M: TMessage);
begin
M.Result := 1;
inherited;
Application.Terminate;
end;
a зачем вообще это писать? это лишнее,
ведь никаких проверок ты не делаешь.