TApplicationEvents с проблемой TIdTcpServer? - PullRequest
0 голосов
/ 12 апреля 2019

Я хотел бы знать, может ли компонент TApplicationEvents вызвать некоторую проблему в случае исключения в событии TcpServer OnExecute, в данном случае мешающем инди правильно обработать ошибку.

Я имею в виду, если использовать procedure TForm1.ApplicationEvents1Exception(Sender: TObject; E: Exception); событие

Может ли это вызвать проблемы с исключениями TIdTcpServer?

1 Ответ

1 голос
/ 12 апреля 2019

Событие TApplication(Events).OnException (обычно) вызывается только для необработанных исключений , которые возникают в контексте основного потока пользовательского интерфейса.Рабочие потоки (обычно) не запускают событие TApplication(Events).OnException.Поток должен был бы вручную вызвать TApplication.HandleException(), чтобы это произошло.Большинство потоков, включая Indy, этого не делают.

TIdTCPServer - многопоточный компонент.Его собственные события, включая события On(Listen)Exception, запускаются в контексте внутренних рабочих потоков, а не в контексте основного потока пользовательского интерфейса.

Таким образом, чтобы ответить на ваш вопрос, TApplication(Events) не будет мешатьсо способностью TIdTCPServer обрабатывать собственные исключения.

...