Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-09-2005
Clantt Clantt is offline
Miembro
 
Registrado: abr 2004
Ubicación: Tarija
Posts: 34
Poder: 0
Clantt Va por buen camino
Unhappy

Cita:
Empezado por jachguate

Por último, comentar que este demo lo he compilado y usado muchas veces en los años anteriores, y nunca me ocurrió tal comportamiento. Probablemente haya algo dañado en tu instalación de windows.
mmm al parecer no es problema de windows por que lo probé en tres máquinas con windows xp y nada el cliente se cuelga. si alguien lo puede revisar lo puede verificar. gracias
Responder Con Cita
  #2  
Antiguo 15-09-2005
m@kio m@kio is offline
Miembro
 
Registrado: may 2005
Posts: 42
Poder: 0
m@kio Va por buen camino
Talking Yo lo resolvi de la siguiente forma...

Código Delphi [-]
     //Checar mensajes, se crea un hilo para ejecutar lo k se hace en el timer
     TMsj = class(TThread)
     protected
       procedure Execute; override;
     end;
   
   var
     //Se hace una variable del tipo k hicimos para despues crearla 
     ChecarMsj:TMsj;
   
   //Procedimiento cuando se ejecuta el hilo
   procedure Tmsj.Execute;
   var
     Msg : String;
   begin
    with form1 do
    begin
     if not IdTCPClient1.Connected then
       exit;
   
     Msg := IdTCPClient1.ReadLn('');
   
     if Msg <> '' then
       if Msg[1] <> '@' then
         begin
         { Not a system command }
           memLines.Lines.Add(Msg);
         end
    end;
   end;
   
   //Procedimiento del timer solo creas el hilo
   procedure TForm1.Timer1Timer(Sender: TObject);
   begin
   ChecarMsj:=TMsj.Create(false);
   end;

Pruebalo a mi me funciono espero k te sirva si no entiendes pues aki estamos para intentar ayudarte
Responder Con Cita
  #3  
Antiguo 15-09-2005
Clantt Clantt is offline
Miembro
 
Registrado: abr 2004
Ubicación: Tarija
Posts: 34
Poder: 0
Clantt Va por buen camino
Hola me da mucho gusto que me ayudaras, aún no lo probé pero se que funcionará. Como dije al principio estoy aprendiendo los componentes Indy y bueno en este código hay algunas cosas que no entiendo.


Cita:
Empezado por m@kio
Código Delphi [-]
//Creo la clase TMsj
 TMsj = class(TThread)
      protected
        procedure Execute; override;
      end;
    
    var
      //Declaramos una variable del tipo TMsj
      ChecarMsj:TMsj;
    
    //Procedimiento de la clase ¿Cuando se lo llama, ó Donde lo llamamos?
    procedure Tmsj.Execute;
    var
      Msg : String;
    begin
     with form1 do
     begin
      if not IdTCPClient1.Connected then
        exit;
    
      Msg := IdTCPClient1.ReadLn('');
    
      if Msg <> '' then
        if Msg[1] <> '@' then
          begin
          { Not a system command }
            memLines.Lines.Add(Msg);
          end
     end;
    end;
    
    //Creamos un objeto de la clase TMsj
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
 //¿Por que creamos al objeto con un parámetro booleano?
    ChecarMsj:=TMsj.Create(false);
    end;
 
 //¿dónde llamamos a Execute?
Responder Con Cita
  #4  
Antiguo 15-09-2005
johncook johncook is offline
Miembro
 
Registrado: oct 2004
Posts: 65
Poder: 20
johncook Va por buen camino
Cita:
/¿Por que creamos al objeto con un parámetro booleano?
ChecarMsj:=TMsj.Create(false);
end;

//¿dónde llamamos a Execute?
Cuando creas el hilo, le indicas al mismo como crearse... Si el parámetro es false (CreateSuspended), significa que el hilo ejecuta una vez creado.
Creo que eso también responde tu pregunta sobre "donde se invoca el método Execute?".
Saludos.
Responder Con Cita
  #5  
Antiguo 15-09-2005
Clantt Clantt is offline
Miembro
 
Registrado: abr 2004
Ubicación: Tarija
Posts: 34
Poder: 0
Clantt Va por buen camino
Mil gracias ahora me voy a probarlo y bueno ademas ya se de donde leer sobre estos componetes. Con esto tengo trabajo hasta el fin de semana gracias a todos.
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 00:24:49.


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