Ver Mensaje Individual
  #2  
Antiguo 23-07-2010
manuc manuc is offline
Miembro
 
Registrado: abr 2010
Posts: 165
Reputación: 17
manuc Va por buen camino
Hola fide_uci,

Creo que uno de los problemas puede estar aquí:
Código Delphi [-]
procedure TForm1.TCPServerExecute(AContext: TIdContext);
var
  dato: String;
  vIP: String;
  List: TList;
  vCount: Integer;
begin

  dato := AContext.Connection.Socket.ReadLn();
  Memo1.Lines.Add(#13 + DupeString('=', 30));
  Memo1.Lines.Add('Hora_Login: ' + PClient(AContext.Data).Hora_Login );
  Memo1.Lines.Add('Enviado: ' + dato);
  //AContext.Connection.Socket.WriteLn('Algo aqui !');

Ten en cuenta que el evento onExecute se dispara cada vez que un hilo tiene actividad, y es un sistema multi-hilos, es decir, más de un hilo puede estar disparándolo al mismo tiempo.

Dentro de este tipo de métodos, no puedes hacer referencias a componentes VCL directamente, sino, que tienes que hacerlo a través de métodos compartidos y llamarlos con "Synchronize", para que cuando se acceda a la VCL, se haga de modo "ordenado".

Precisamente, cuando hay conflicto de acceso a VCL en este tipo de métodos la aplicación se congela.

Espero que te ayude.

Un saludo.
Responder Con Cita