Ver Mensaje Individual
  #23  
Antiguo 14-07-2005
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Reputación: 24
Mick Va por buen camino
Solo una pequeñas correcciones, hay que destruir el objeto TStringList al final sino tendremos un memory leak bastante grave, ya que cada vez que se ejecute la funcion se creara un nuevo stringlist que no se destruira al salir de ella.

Código:
procedure TCliente_Ogame.ClientSocket2Read(Sender: TObject; Socket: TCustomWinSocket);
var
Lineas: TStringList;
begin
   Lineas := TStringList.Create;
   try
     Lineas.Text := Socket.ReceiveText;
     Edit1.Text := Lineas.Strings[13];
   finally
     Lineas.Free;
   end; 
end;
Si se va a ejecutar muchas veces esta funcion tambien puede ser preferible tener creada con anterioridad el objeto Lineas y no destruirlo nunca, de ese modo nos ahorramos la frecuente creacion y destruccion del objeto.

Tambien seria necesario asegurarse de que existe por lo menos 13 lineas en el texto recibido, si no en el caso de recibir menos datos dara un error al intentar acceder a una linea no existente.

Saludos
Responder Con Cita