Saludos y vuelta con lo mismo...
He modificado el código como me sugería casimiro (lo que ahora no sé es si le entendí bien), el caso es es que el código queda así...
Código Delphi
[-]
try
if Assigned(WaitThread) then WaitThread.AbortThread;
if Thread.Waiting then Thread.AbortThread;
thread.Terminate;
close
except
thread.Free;
raise
end;
Añado que esta modificación la hago en base a una discusión en stackoverflow que encontré no hace ni media hora. Dicho esto, cuando pulso sobre "cerrar" el formulario se cierra pero en segundo plano el hilo sigue corriendo, si pulso la "X" de cerrar me tira este error (ver captura). Si vuelvo a pulsar la "X" parar cerrar el formulario "a las bravas" se repite el mismo mensaje de error y ya luego si se cierra todo y sale del programa.
Mensaje de error 1:
Mensaje de error2 (lo muestra si pulso "continue" en el primer error):
Entonces, ¿de que forma se detiene correctamente un hilo que se esta ejecutando en el momento de detenerse?
P.D.: Saludos nelson, me alegra que estes de acuerdo con mi afirmación
aunque veces la terapia me crispa los nervios jaja.