Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.02.26;
Скачать: CL | DM;

Вниз

подождать завершения работы процедуры   Найти похожие ветки 

 
Scott Storch ©   (2011-11-16 15:33) [0]

Есть объект TServiceExecutor который запускает сервисы в приложении (импорт, экспорт, ...). У него есть 2 события: OnServiceStarted и OnServiceStopped. У себя в приложении пишу функцию запускающую сервис импорта. После того сервис импорта завершит свою работу, нужно выполнить определенные действия. Как правильно подождать, пока сервис импорта завешит работу. Правильно ли я сделал:

procedure {...}.event_ServiceStarted({...});
begin
 {...}
 FServiceIsRunning := True;
 {...}
end;

procedure {...}.event_ServiceStopped({...});
begin
 try
   {...}
 finally
   FServiceIsRunning := False;
 end;
end;

procedure {...}.Import({...});
begin
 {...}
 ServiceExecutor.ExecuteService({...}); // вызывается событие OnServiceStarted сервиса
 repeat
   // ждем, пока сервис не завершит свою работу
 until
   FServiceIsRunning;
 // выполняем некоторые действия
 {...}
end;


 
Сергей М. ©   (2011-11-16 16:16) [1]


> Как правильно подождать


Туча разных способов существует, из которых самый неправильный - это пустой цикл с проверкой флага в в условии выхода.


 
Dennis I. Komarov ©   (2011-11-16 17:44) [2]

WaitFor...



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

Текущий архив: 2012.02.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
15-1320848351
xss22
2011-11-09 18:19
2012.02.26
Удаление элемента со сдвигом из массива array of record


2-1321534792
upc
2011-11-17 16:59
2012.02.26
Не дать показаться форме


2-1321092811
nick_delphi2010
2011-11-12 14:13
2012.02.26
Проблема с дебагером в Delphi 2010


15-1317792690
Наиль2011
2011-10-05 09:31
2012.02.26
вывод на монитор с частотой 30Гц и больше


15-1320807493
Kerk
2011-11-09 06:58
2012.02.26
Большие сложные GUI