Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Error: terminate thread timeout (https://www.clubdelphi.com/foros/showthread.php?t=79925)

ppalmamichi 21-08-2012 20:03:47

Error: terminate thread timeout
 
hola:

tengo una plicacion cliente servidor, el cliente lo tengo programado para que cuando se desconecte vuelva a interntar conectarse.
mi problema surge cuando cierro el servidor, me envia el error "terminate thread timeout" y se queda colgado. antes de cerrar el servidor envio una instruccion a todos los clientes conectados para que se desconecten y realicen una pausa de 3 seg. para volver a intentar conectarse.

de antemano agradesco su ayuda...

===SERVIDOR===
Código Delphi [-]
procedure TFMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin  
   EnviaComando('DESCONECTAR','','');
   Server.Active := False;
   Clients.Free;
   LimpiaTabla;
   FDM.Tequipos.close;
   FDM.Access.Close;
   Application.processMessages;   
   application.Terminate;
end;

===CLIENTE===
Código Delphi [-]
procedure TFMain.ClientDisconnected(Sender: TObject);
begin
   sleep(3000);
   Conectar;
end;

procedure TFMain.Conectar;                
begin
  While not Client.Connected do
  begin
    try
      Client.Connect(1000);  // in Indy < 8.1 leave the parameter away
      ClientHandleThread := TClientHandleThread.Create(True);
      ClientHandleThread.FreeOnTerminate:=True;
      ClientHandleThread.Resume;
    except
//      on E: Exception do MessageDlg ('Error while connecting:'+#13+E.Message, mtError, [mbOk], 0);
    end;
end;
end;

procedure TFMain.Desconectar;
begin
    ClientHandleThread.Terminate;
    Client.Disconnect;
end;


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

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