Vitaliy писал(а):
С какой периодичностьюНа данный момент каждые 50 миллисекунд, но можно это вынести в свойства (была такая идея). Цель этой точки - проверять наличие необходимой работы, и если надо что-то делать - то выполнить эту работу. Эту точку использовать необязательно, я даже хотел вынести её в опциональные, как onPause и onContinue. Кстати, если сервис приостановить, то события onStep не будут генерироваться.
Vitaliy писал(а):
процесс занимает все свободное процессорное времяНет, если то, что происходит по событию onStep, выполняется быстрее, чем 50 миллисекунд. Обычно, проверка наличия необходимых для выполнения задач - это лишь проверка определённого флага (или, например, определённого времени или наличия какого-то файла), и выполняется очень быстро Остальное время сервис находится в режиме ожидания.
Vitaliy писал(а):
Пробовал поставить таймер (компонента Sleep)Использовать компонент Sleep не рекомендую, т.к. текущая реализация "занимает все свободное процессорное время". Кстати, если используешь doSleep, учти, что задержка в микросекундах, для задержки в миллисекундах есть doSleepMks.
Vitaliy писал(а):
Компонент Timer дает обратный результат ... возможно постоянно перезапускаетсяЛогично.
А вот с компонентами, которые работают только при наличии обработчика очереди сообщений (дочерняя форма и всё что на ней, а также, скорее всего, TCP сокеты) пока не получится, т.к. его пока нет. Я думаю, надо будет добавить это в основной цикл работы сервиса.
А может и не надо, работа с интерфейсными элементами - это не для сервиса