Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2012.02.26;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.005 c
6-1252154752
lunev_denis
2009-09-05 16:45
2012.02.26
Indy и докачка файлов через IdFTP


15-1320006602
Юрий
2011-10-30 23:30
2012.02.26
С днем рождения ! 31 октября 2011 понедельник


6-1223555585
Alex603081
2008-10-09 16:33
2012.02.26
Соединение по MAC адресу


15-1320820793
stas
2011-11-09 10:39
2012.02.26
TwebBrowser и Socks, реально?


15-1320615148
KilkennyCat
2011-11-07 00:32
2012.02.26
TreeView для XE бесплатный,





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский