Вниз
Скачать: CL | DM;

Завершение работы ХР   Найти похожие ветки 

 
Brat-2   (2003-01-21 14:06) [0]

Ув. Мастера.
Прописываю в автозагрузку ХР программу.
По завершению работы, Виндоуз высвечивает, что программа неотвечает на запросы.
Как сделать, чтоб она закрывалась молча вместе с Виндой.


 
error 2k ©   (2003-01-21 14:30) [1]

Как мне кажется, если программа не отвечает на запросы - она висит. По идее, винда закрывает все проги сама.


 
Smithson ©   (2003-01-21 14:34) [2]

В твикерах windows поставь галочку "Автоматически закрывать программы" и уменьши тайм-ауты для этого события (по умолчанию 5 и 20 секунд). Какая точка в реестре этому соответствует - не знаю.


 
Reindeer Moss Eater   (2003-01-21 14:42) [3]

Научи свою программу определять момент выгрузки ОС


 
Brat-2   (2003-01-21 17:51) [4]

2 ерор: нет, прога не "висит".
2 Смитсон: мне нужно, чтобы это все выполнялось автоматически.
2 RME: Как можно это осуществить?


 
Stager   (2003-01-21 23:04) [5]

Есть следующее подозрение:

1. Ваша программа выполняет некий бесконечный цикл. Например:
procedure TForm1.FormCreate(Sender: TObject);
begin
repeat
Application.ProcessMessages;
Sleep(50);
{что-нибудь еще}
until False;

end;

По завершении работы система посылает ей команду на закрытие, но как же она закроется, когда из цикла нет выхода?

Вариант решения №1 (лень пробовать, но может сработать):
procedure TForm1.FormCreate(Sender: TObject);
begin
repeat
Application.ProcessMessages;
Sleep(50);
{что-нибудь еще}
until Application.Terminated;
end;


Вариант решения №2(чуть более "в лоб"):
var
TerminatePrg: boolean = False;

procedure TForm1.FormCreate(Sender: TObject);
begin
repeat
Application.ProcessMessages;
Sleep(50);
{что-нибудь еще}
until TerminatePrg;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := True;
TerminatePrg := True;
end;


Возможно, у Вас другой случай, но циклы все же поищите.

С уважением, Алексей.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
3-96523
BLOB
2003-01-14 17:18
2003.01.30
Как в Interbase записать результаты запроса в файл?


1-96763
vlv
2003-01-22 17:41
2003.01.30
Свойство компонента типа TImageList


7-97046
Nikolai_S
2002-11-18 16:26
2003.01.30
Как определить поддерживает ли принтер цветную печать?


1-96856
Robin bobin
2003-01-21 09:42
2003.01.30
Работа с Exel в Delphi


7-97056
3223(jab)
2002-11-17 15:48
2003.01.30
Web Cam




   Наверх