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

Вниз

Service: проблема с OnExecute   Найти похожие ветки 

 
Геннадий   (2004-09-10 09:55) [0]

Создаю пустое ServiceApplication. Interactive устанавливаю в True. В обработчике OnExecute пишу что-нибудь простое (создать файл, например). Инсталлирую службу. Она не запускается. Но если убрать обработку OnExecute - служба и запустится, и остановится. Отдельная проблема с интерактивностью - если в обработчике (например) OnPause я могу создать файл и записать в него строку, то показать ShowMessage - нет (служба повиснет). Что я делаю не так?


 
Digitman ©   (2004-09-10 10:21) [1]


> В обработчике OnExecute пишу что-нибудь простое .. Она не запускается


она запускается !.. но тут же завершает работу, потому что завершилась процедура обработки события OnExecute()


> если убрать обработку OnExecute - служба и запустится, и
> остановится


все правильно, так и должно быть


> Отдельная проблема с интерактивностью - если в обработчике
> (например) OnPause я могу создать файл и записать в него
> строку, то показать ShowMessage - нет (служба повиснет).
> Что я делаю не так?


к "интерактивности" это не имеет отношения
а проблема "зависания" связана с тем, что код сервиса исполняется в доп.трэде, в котором непосредственный вызов ShowMessage() недопустим - ShowMessage создает VCL-объект (форму), а объекты VCL , как известно, непотокобезопасны.

следует либо синхронизировать обращения к VCL-форме с осн.трэдом процесса сервиса (любым удобным способом) либо отказаться от ShowMessage() и для целей отладки вызывать MessageBox()


 
Erik1   (2004-09-10 10:25) [2]

Посмотри сначала примеры для работы с TThread там тоже есть Execute! Еще можно использовать события OnStart OnStop и в них соответственно запускать свой тред на выполнение и останавливать его. Тогда будет иметь смысл использование OnPause OnContinue как Syspend и Resume.


 
Digitman ©   (2004-09-10 10:31) [3]


> Геннадий


события OnCreate, OnDestroy возбуждаюся в осн.трэде, все прочие события - в дополнительном



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

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

Наверх




Память: 0.47 MB
Время: 0.038 c
3-1093584135
Dual
2004-08-27 09:22
2004.09.26
Проблема с базами или что же выбрать?


1-1095083230
sloug
2004-09-13 17:47
2004.09.26
Цвет текста в TDBMemo


3-1093591590
Chainik
2004-08-27 11:26
2004.09.26
Как реализовать запрос?


3-1093435669
Klerk
2004-08-25 16:07
2004.09.26
Получание инфы по сети


14-1094198873
Holy
2004-09-03 12:07
2004.09.26
Неисповедимы пути...