Ver Mensaje Individual
  #8  
Antiguo 28-02-2009
Bauhaus1975 Bauhaus1975 is offline
Miembro
 
Registrado: may 2005
Ubicación: Málaga
Posts: 135
Reputación: 20
Bauhaus1975 Va por buen camino
Hola de nuevo y gracias a los dos por la ayuda.

Estoy ya implementando vuestros consejos, aunque como el código estaba muy extendido ya, me queda todavía, y no se aún si funciona. Me estoy planteando tener una función/ o método 'ordenar', que trate de manera aislada el TList para ordenar y luego devuelva una copia del TList pero pasado a 'array or record' que es lo que usa el resto de partes del programa.

Además, todavía me quedan algunas dudas...

1. Sobre la llamada a ordenar:
Código Delphi [-]
list.Sort(@compararCampo1);
¿Puedo pasar en vez de una función, un método de clase?
Also como '@self.compararCampo1'. Para no tener funciones sueltas. He probado pero no he conseguido salvar el error 'variable expected'.

2. Sobre el destruir items de la lista.

Cita:
Empezado por roman Ver Mensaje
Código Delphi [-]
begin
  form I := 0 to Lista.Count - 1 do
          Dispose(Lista[i]);
end;
Roman, en vez de lo que comentas ¿no sería mejor lo siguiente?:

Código Delphi [-]
// O bien:
lista.Clear;
// O bien:
begin
  form I := 0 to Lista.Count - 1 do
          Dispose(Lista.items[i]);
          // incluso -> lista.Delete(i);
end;

También tengo otro problema, y es que tengo que almacenar cada Tlist que proceso en un array (array of TList). Resulta que cada vez que voy a procesar un nuevo TList, lo libero (reseteo), y pierdo lo que tenia almacenado en el array de TList de anteriores posiciones. Pero para no mezclar, esto lo trataré en un nuevo Post si es necesario.

Saludos.

Última edición por Bauhaus1975 fecha: 28-02-2009 a las 19:33:36.
Responder Con Cita