![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#2
|
|||
|
|||
|
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 |
|
|
|