|
Вопрос # 1 883/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Подскажите, пожалуйста, как предоставить возможность прервать работу программы по некоторой команде, если выполняется расчет в цикле, например, на несколько миллионов точек? У меня задача монопольно занимает процессор и не реагирует ни на какие команды. Заранее благодарю за помощь!
 |
Вопрос задал: Драганов Василий Михайлович (статус: Посетитель)
Вопрос отправлен: 8 сентября 2008, 15:00
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, Драганов Василий Михайлович!
Решением в лоб будет вызывать Application.ProcessMessage в цикле. Ну где то так
if i mod 1000 = 0 then
Application.ProcessMessage;
где i - параметр цикла, а 1000 - константа, которая подбирается опытным путём. Но это решение в лоб плохое. Лучше использовать потоки. На сайте есть несколько статей на тему потоков, почитайте, если не поймёте, расскажем подробнее.
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 8 сентября 2008, 15:08
Оценка за ответ: 5
Комментарий к оценке: Спасибо за ответ. Попробую первый вариант, так как с потоками не работал:(.
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|