У меня проблема. Я хочу отобразить форму прогресса, которая показывает анимацию только тогда, когда основное приложение выполняет тяжелые операции.Как избежать зависания нити, когда основное приложение занято
Я сделал это в потоке, и он отлично работает, когда пользователь не выполняет какие-либо операции. Но он просто останавливается, когда основное приложение занято.
Я не могу помещать Application.ProcessMessages между различными строками кода, потому что я использую компоненты 3rdparty с большим временем обработки.
Моя идея состояла в том, чтобы создать новый процесс и в процессе создать поток, который выполняет анимацию. Теперь это не остановит выполнение формы нити, когда основное приложение выполняет тяжелые операции.
Но, как я вижу, вы можете создавать новый процесс только в том случае, если вы выполняете новую программу.
Есть ли у кого-нибудь решение о том, как продолжить выполнение потока, даже когда основное приложение занято?
/Brian
«Но, как я вижу, вы можете создавать новый процесс только при выполнении новой программы». -> Это правда. Ни в коем случае вы не можете сделать эту работу по назначению. Переверните свою логику и поместите свою операцию в поток. – Mihaela
См. Статью Эмбаркадеро [Создание рабочей темы для обработки фоновых изображений] (http://edn.embarcadero.com/article/25707). – naXa