Форум: "Основная";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c