olegy123 писал(а):посмотрите исходники таймера, там сидит TThread.
Это где такое? В windows используется встроенный в ОС механизм через SetTimer.
Alex2013 писал(а):То что делается с помощью явных потоков часто просто РУЧНОЕ УПРАВЛЕНИЕ тем, что ОС (и отчасти внутренний "движок" LCL) стараются делать автоматически.
Вам нужно поучиться программировать под мобильные платформы, где уже много лет в гайдлайнах рекомендуют (а кое-где насильно закрывают приложение на уровне ОС, которое нарушает рекомендации) выделять все длительные операции в отдельные потоки, чтобы интерфейс не морозился.
Тут же советчики и вовсе настаивают, что это правильное решение, а ТС вообще хочет заблокировать все окна, вместо внятного окошка, которое сообщает о деятельности приложения и не позволяет работать с документом, который обрабатывается.
Если уж совсем хочется без блокировок (приложения или модальным окном), то стоит позаботиться о пуле с блокировками, к которому окна обращаются, чтобы узнать о статусе документа.
Поток начал работать с документом, сообщил об этом. Поток закончил работать, убрал из пула запись о блокировке, броадкастом оповестил все окна.