Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 30-08-2006
chalitox chalitox is offline
Registrado
 
Registrado: jun 2006
Posts: 7
Poder: 0
chalitox Va por buen camino
Este el codigo que ejecuto...

Código Delphi [-]
procedure TMonitor.FinalizarMonitoreoDeStats;
begin
    {:
        Indica el estado actual de monitoreo.
        -1: Terminar de monitorear
        0: Monitero detenido
        1: Primer monitoreo
        2: Monitoreando
        3: Time out
        4: No conectado a la red

        Con esto, si estado > 0 siempre estara monitoreando o intentando monitorear.
    }
  estado := -2;

    // por si no estaba monitoreando
    if self.Suspended then
    self.Resume;    
end;

procedure TForm1.Logout;
var
    i, count, r: Integer;
    {
        TMonitor = class(TThread)
        Lo que hace este monitor es monitorear un servidor.
    }
    monitor: TMonitor;
begin
    // rutina de loguot
    if self.panelSplit.Visible then
        begin

        count := self.monitres.Count;
        // Detener todos los monitores
        for i:=0 to count-1 do
            begin
            monitor := TMonitor(self.monitres.Items[0]);
            monitres.Delete(0);
            
            // FinalizarMonitoreo lo que hace es cambiar el estado interno 
            // del monitor para que termine su ejecucion lo mas rapido 
            // posible, y como notifica muchos eventos
            // por ej:
            //    Detenido
            //    Desconectado
            // es que debo esperarlo, porque se puede dar que se termine
            // cerrar el Form y el thread no termino de cerrarse... y asi
            // con c/u de los monitores
            monitor.FinalizarMonitoreo;
            r := monitor.WaitFor;
            end;

        // Ocultar y desactivar componentes
        self.SetActivoComponentesDeMonitoreo(False);
        self.SetActivoComponentesLogin(False);

        end;
end;

Vale aclarar que el "Terminate := True" lo hace el mismo TMonitor dentro del Execute cuando consulta el estado y se da cuenta de que tiene que terminar.

Gracias de ante mano, saludos
Ramiro
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Indy y Threads PeLuCa Internet 20 13-01-2011 00:42:21
Firebird AND Threads Abel Garcia Firebird e Interbase 21 19-03-2008 05:07:21
Threads y transacciones anduj Conexión con bases de datos 5 12-07-2005 20:31:40
Threads sobre Componentes NeWNeO Varios 6 05-07-2004 15:43:17
Manejo de threads en Delphi dmasson Varios 3 16-04-2004 15:22:58


La franja horaria es GMT +2. Ahora son las 06:59:09.


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