Узнайте сами с помощью отладчика.
Если ваша программа имеет высокую загрузку процессора, предположим, что она застряла в цикле. Отладчик может помочь вам выяснить, какой цикл и почему. Пока сервер работает в отладчике и выявляет проблему, нажмите кнопку «Пауза». Отладчик прервет вашу программу и покажет вам строку, которую выполняла ваша программа. Используйте стек вызовов , чтобы показать вам, как ваша программа попала на эту линию. Найдите петлю, которую вы подозреваете, является виновником. Возобновите и приостановите вашу программу еще несколько раз, чтобы увидеть, всегда ли вы останавливаетесь где-то в этом цикле. Теперь проанализируйте код, чтобы выяснить, почему цикл не завершается.
Возможно, вам придется активировать другую ветку; основной поток графического интерфейса, вероятно, будет ожидать вызова GetMessage
, что является нормальным.
Убедитесь, что вы используете последнюю версию Indy . Не используйте версию, поставляемую с вашей копией Delphi.