![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Про сервисы. Подскажите с событиями. [D7, XP, 2003]
AV © (2012-02-16 14:57:00)переделываю программу в сервис.
на
procedure TATS_S12.ServiceExecute(Sender: TService);
повесил было такую логику
InitAndRunAllThreads;
repeat
ReportStatus;
Sleep(1000);
until GoExit; // GoExit проверка наличия файл
repeat
ReportStatus;
Sleep(1000);
until All_Threads_Report_DONE;
Kill_All_Threads;
работает...
---------
что не устраивает - из оснастки не можно сделать стоп. А надо.
правильно ли понимаю, что надо написать:
procedure TATS_S12.ServiceStart(Sender: TService; var Started: Boolean);
InitAndRunAllThreads;
procedure TATS_S12.ServiceExecute(Sender: TService);
repeat
ReportStatus;
Sleep(1000);
until GoExit; // ловить stop от оснастки
procedure TATS_S12.ServiceStop(Sender: TService; var Stopped: Boolean);
repeat
ReportStatus;
Sleep(1000);
until All_Threads_Report_DONE;
Kill_All_Threads;
AV (2012-02-16 16:19:00) [1]СПАСИБО!
Сергей М. (2012-02-16 15:22:00) [2]procedure TATS_S12.ServiceExecute(Sender: TService);
begin
while not Terminated
//and ДругиеУсловияВыходаИзЦикла
do
ProcessRequest(true);
end;