¿Necesito TThreads? Si es así, ¿puedo pausar, reanudar y detenerlas?

Siempre me he preguntado si hay una mejor manera de escribir algunos de mis procedimientos, en particular los que tardan mucho tiempo en terminar.

Siempre he ejecutado todo lo relacionado con el subproceso de la GUI principal que ahora entiendo y me doy cuenta de que es malo porque hará que la aplicación no responda,Application.ProcessMessages Realmente no ayudará aquí.

Esto me hace pensar que necesito usar TThreads para operaciones prolongadas como, por ejemplo, copiar un archivo. Esto también me hizo preguntarme cómo algunas aplicaciones le dan control total, por ejemplo, le permiten pausar, reanudar o detener la operación.

Tengo alrededor de 3 operaciones largas en un proyecto personal en el que estoy trabajando, en el que muestro un formulario de diálogo con una barra de TProgress. Si bien esto funciona, creo que podría hacerse mucho mejor. Estos cuadros de diálogo de progreso pueden mostrarse durante tanto tiempo que tal vez desee cancelar la operación y terminar el trabajo más tarde.

Como dije, actualmente estoy ejecutando el subproceso principal de Gui, ¿en cambio necesito usar TThreads? No estoy seguro de cómo o dónde comenzar a implementarlos, ya que no he trabajado con ellos antes. Si necesito hilos, ¿ofrecen lo que necesito, como pausar, reanudar, detener una operación, etc.?

Básicamente, estoy buscando una mejor manera de manejar y administrar operaciones prolongadas.

Respuestas a la pregunta(4)

Su respuesta a la pregunta