Yo utilizaría las funcionalidades de la clase TThread, en lugar de crear unas propias terriblemente similares, por ejemplo en lugar del método FinThread y la variable fbEnd, utilizaría Terminate y Terminated. Sacaría el Application.ProcessMessages para no mezclarme con el hilo de la VCL.
Por otro lado, cuando se ejecuta el Destroy, es muy posible que el hilo siga ejecutándose, por eso si liberas todos los objetos que utilizas en Execute, este te dará un access violation. Prueba cambiar el código que tienes en Destroy a OnTerminate, o DoTerminate.
Saludos!
__________________
delphi.com.ar
Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
|