![]() |
Forzar a thread a que se termine
Hola, realmente no soy muy dado a trabajar con threads, con lo que tengo un pequeño problema:
El thread que uso tiene asignado un evento OnTerminate, de modo que, cuando el hilo termina, se llama a dicho evento. Ahora bien, hay veces que no se llama al evento OnTerminate y realmente no se porque... me he asegurado y si, el problema está en que a veces no se llama a ese evento. ¿Es posible forzar a que se termine el thread llamando a ese evento?. Gracias y un saludo grande. |
Cita:
Muestra el código que mata a la tardea, y en todo caso el codigo del onterminate si no toca la tarea del vcl puedes ponerlo en el ondestroy de la tarea. Como matar una tarea? Lo seguro es suspenderla y terminarla, pero depende de que este haciendo. Si me muestras el código te ayudo mejor. Saludos. |
Gracias por tu respuesta. Bueno, código código aún no está del todo escrito, solo que necesito forzar de alguna manera a que el thread se cierre y se llame en el 100% de las ocasiones al evento OnTerminate. Me he dado cuenta de que a veces no se llama, porque he hecho varias pruebas, tales como cambiar el caption en el evento y al iniciar el thread, a través del debugger, y varios medios mas... He probado eso de Suspend; y Terminate;, pero cuando se llama al Suspend; se acaba el thread y no llama al OnTerminate. La verdad, no lo entiendo porque ocurre..
|
Cita:
Como no hay codigo, es lo único que se me ocurre sin conocer mas del caso. Si me cuentas en detalle que quieres hacer te ayudo en lo que pueda. Saludos. |
Muchas gracias, me ha funcionado eso de ponerlo en el OnDestroy y hacer un Synchronize :). Mil gracias compañero!
|
Cita:
Un gusto ayudarte. Saludos. |
| La franja horaria es GMT +2. Ahora son las 06:48:16. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi