Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-05-2010
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 19
Faust Va por buen camino
¿cómo saber si un thread está vivo?

Saludos, tengo una aplicación en la que corro un thread, puedo pausarlo y continuarlo a gusto, incluso terminarlo y liberarlo, pero tengo el siguiente problema, al querer cerrar mi formulario principal necesito checar si el thread se está ejecutando o sigue vivo, es decir si se ha liberado o no,
este es el código:

Código Delphi [-]
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if Assigned(MThread) then
    if MessageDlg('Está corriendo el thread de copiado.' + #13#10 + '¿Desea cerrar de todas maneras la aplicación?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
    begin
      MThread.Suspend;
      Sleep(3000);
      MThread.FPause:= True;
      CanClose:= True
    end
    else
      CanClose:= False
end;

Pero aunque el thread ha dejado de ejecutarse y su FreeOnTerminate:= True pareciera que se queda "vivo", pues Assigned(MThread) me devuelve verdadero, probé con MThread=nil y me devuelve falso... ¿algo estoy haciendo mal?

Gracias de antemano por su ayuda.

Nota: Alguien puede ayudarme a cambiar el título, es que es invertí las letras en saber y puse asber... gracias
__________________
Herr Heins Faust
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cómo saber si un .OCX está instalado luisdevis API de Windows 2 22-09-2018 10:28:14
¿Cómo saber si una dll está registrada? jplj API de Windows 1 04-02-2010 23:28:41
Como saber si un puerto COM ya está en uso vejerf OOP 2 22-07-2008 16:58:47
Como saber si un evento esta programado xcostey OOP 2 17-01-2005 17:00:13
Como Saber Que Aplicacion Se Esta Ejecutando ??? TomasCampeon API de Windows 1 12-08-2004 03:23:26


La franja horaria es GMT +2. Ahora son las 01:15:18.


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
Copyright 1996-2007 Club Delphi