Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Моя прога мешает перезагрузке/перелогину Виндовс :-( [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 зачем вообще это писать? это лишнее,
ведь никаких проверок ты не делаешь.




Наверх

Титульная страница Поиск, карта сайта Написать письмо