Я всегда задавался вопросом, есть ли лучший способ написать некоторые из моих процедур, особенно те, которые занимают много времени.
Я всегда запускаю все, что связано с Главным графическим потоком, который я теперь понимаю и понимаю плохо, потому что это сделает приложение невосприимчивым, Application.ProcessMessages
здесь действительно не поможет.
Это заставляет меня думать, что мне нужно использовать TThreads для длительных операций, например, для копирования файла. Это также заставило меня задуматься, как некоторые приложения дают вам полный контроль, например, позволяют приостановить, возобновить и/или остановить операцию.
У меня около 3 длительных операций в личном проекте, над которым я работаю, на котором я показываю диалоговую форму с TProgressBar. Пока это работает, я чувствую, что это можно сделать гораздо лучше. Эти диалоги прогресса могут отображаться в течение столь длительного времени, что вы можете отказаться от операции и вместо этого завершить работу позже.
Как я уже сказал, в настоящее время я запускаю Thread Main Gui, вместо этого мне нужно использовать TThreads? Я не уверен, как и где начать внедрять их, поскольку я раньше не работал с ними. Если мне нужны потоки, они предлагают то, что мне нужно, например, приостановка, возобновление, остановка операции и т.д.
В основном я ищу лучший способ обработки и управления длительными операциями.