Ver Mensaje Individual
  #2  
Antiguo 21-02-2005
mutabal mutabal is offline
Registrado
 
Registrado: feb 2005
Posts: 2
Reputación: 0
mutabal Va por buen camino
Hola de nuevo, tras probar muchas cosas he solucionado por lo menos unos de los problemas, el de eliminar del todo los hilos de ejecucion que ya han acabado. Era tan sencillo como parar el hilo antes de asignarle valor a la propiedad FreeOnterminate. Asi quedaria el código anterior:

procedure TForm1.tcpServerExecute(AThread: TIdPeerThread);
var
texto : string;
begin
try
athread.stop;
AThread.FreeOnTerminate:= True;
athread.start;
AThread.Connection.ReadTimeout := 600000;
texto := AThread.Connection.ReadLn;
if flog.produccion then Flog.AgnadirMensaje(' <= MENSAJE RECIBIDO: ' + texto + ' - (tcpServerExecute)');
TratarMensaje(texto,AThread);
except
on e: exception do
begin
if flog.produccion then Flog.AgnadirMensaje(' ** ERROR: ' + e.Message + ' - (tcpServerExecute)');
end;
end;
end;

Aun asi me sigue dando un problema de memoria, pero ya no es debido a esto que pregunte. Gracias a todos. Mut@b@l
Responder Con Cita