как я могу убедиться, что служба никогда не будет прекращена по какой-либо причине
за исключением случаев, когда она остановлена пользователем.
Я пробовал это, но не получилось.безостановочное обслуживание для любого исключения
OnExecute:
Count := 0;
while not Terminated do
begin
Inc(Count);
While Count >= SecBetweenRuns do
Begin
Try
Count := 0;
...
Except
on E: exception do
Begin
JFCLogFile1.LogText := E.Message;
Break;
End;
End;
End;
Sleep(1000);
ServiceThread.ProcessRequests(False);
end;
Если какое-либо исключение происходит служба перестает работать, и нужно запустить его снова вручную.
Я хочу разбить цикл и начать все сначала, когда исключение происходит без какого-либо вмешательства пользователя.
Что не так с кодом, который вы указали? Как это не соответствует вашим требованиям? –
@RemyLebeau Был изменен вопрос –
Вы уже знаете ответ - используйте блок try/except. Так в чем же проблема? По крайней мере, вам нужно переместить вызов 'ServiceThread.ProcessRequests()' в блок 'try'. –