Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   [Duda] Como saber si un hilo existe??? (https://www.clubdelphi.com/foros/showthread.php?t=76699)

J.Slann 19-11-2011 17:45:29

[Duda] Como saber si un hilo existe???
 
Hola,

Me gustaría saber si un hilo existe o no. La idea es que si el hilo ya existe hacer determinadas cosas con el y si no existe crearlo.

Estoy probando a hacer algo así:

Código Delphi [-]
if Hilo=nil then
begin
  Hilo.Create;
end;

El problema que tengo es que una vez que se ha creado un hilo, aunque este se haya terminado, la variable "Hilo" donde lo guardo ya no es nil.

¿Alguna sugerencia?

Gracias y saludos.

LoPiTaL 19-11-2011 19:01:02

Hola.

Supongo que el ejemplo que has puesto está escrito directamente en el navegador, pero por si acaso, deberías tener algo como esto en tu código, ya que si no, te dará error:

Código Delphi [-]
if Hilo=nil then
  Hilo:=THiloClass.Create; //En lugar de Hilo.Create

Ahora el problema que tienes es que "Hilo" se queda asignado.
La solución es sencilla. Sobreescribe el método Destroy de tu clase hilo para reasignarlo a nil, por ejemplo:

Código Delphi [-]
Destructor THiloClass.Destroy;
begin
  Hilo:=nil;
end

De esta forma, cuando el hilo muera escribirá nil en la variable Hilo.

Un saludo,
LoPiTaL

J.Slann 21-11-2011 13:08:00

Como bien supusiste lo escribi directamente en el navegador, sin fijarme en mi código. Pero en mi proyecto esta bien puesto todo, mi problema no era crear el hilo sino saber si existia.

En cuanto a tu respuesta lo acabo de probar y ya me funciona como quiero. Muchas gracias por la ayuda.

Saludos


La franja horaria es GMT +2. Ahora son las 16:32:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi