JaRule
03-01-2014, 19:10
Добрый день!
Пишу службу на Delphi 7 (ОС Windows 7), идея такова: идет таймер, в событиях таймера прописано, например: if timetostr(time)='02:00:00' then ... что-то делать.
Службу компилировал, зарегистрировал, когда запускаю - пишет сразу что служба остановлена т.к. ей нечего делать. Конечно не сразу стал тут писать, загуглил, прочел что надо что-нибудь написать в процедуре ServiceExecute, но ни один из предложенных вариантов у меня не заработал. Пробовал писать в той процедуре следующее:
1. timer1.enabled=true (хотя изначально я это писал на процедуре старта)
2. ServiceThread.ProcessRequests(true); и false тоже
3. Разные вариации на тему while not Terminated do (так же таймер запускал, писал ServiceThread.ProcessRequests с true и false)
4. Пытался по-своему извращаться, присваивал какой-нить переменной какое-нить значение, даже проверки какие-то пытался писать в качестве заглушки.
Результат один: при запуске службы она сразу же останавливается. Сразу говорю, дабы исключить ошибку в коде пробовал те же самые телодвижения делать в обычном приложении (не в службе) - и оно работает!
Подскажите пожалуйста, как все-таки эту заразу заставить заработать? Спасибо!
Пишу службу на Delphi 7 (ОС Windows 7), идея такова: идет таймер, в событиях таймера прописано, например: if timetostr(time)='02:00:00' then ... что-то делать.
Службу компилировал, зарегистрировал, когда запускаю - пишет сразу что служба остановлена т.к. ей нечего делать. Конечно не сразу стал тут писать, загуглил, прочел что надо что-нибудь написать в процедуре ServiceExecute, но ни один из предложенных вариантов у меня не заработал. Пробовал писать в той процедуре следующее:
1. timer1.enabled=true (хотя изначально я это писал на процедуре старта)
2. ServiceThread.ProcessRequests(true); и false тоже
3. Разные вариации на тему while not Terminated do (так же таймер запускал, писал ServiceThread.ProcessRequests с true и false)
4. Пытался по-своему извращаться, присваивал какой-нить переменной какое-нить значение, даже проверки какие-то пытался писать в качестве заглушки.
Результат один: при запуске службы она сразу же останавливается. Сразу говорю, дабы исключить ошибку в коде пробовал те же самые телодвижения делать в обычном приложении (не в службе) - и оно работает!
Подскажите пожалуйста, как все-таки эту заразу заставить заработать? Спасибо!