Ver Mensaje Individual
  #8  
Antiguo 17-01-2023
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Reputación: 20
movorack Va camino a la famamovorack Va camino a la fama
¡Hola, Wellnic!

Como alternativa al Array, puedes hacer uso de la clase TOBjectList<T>

Cita:
Empezado por Embarcadero
TObjectList es un TList con la capacidad de liberar automáticamente entradas de objetos cuando se eliminan de la lista...
Para prueba usé un archivo de 91 Kb, la carga de las imágenes fue de 1.4 segundos y al liberarlas tomó 23 milisegundos

Código Delphi [-]
uses
  System.Generics.Collections;
const
  C_TOTAL = 1000;
var
  i, idx: integer;
  List: TObjectList< TImage >;
begin
  { Crea la lista }
  { La propiedad OwnsObjects está establecida como true por defecto -- La lista liberará los objetos automáticamente. }
  List := TObjectList< TImage >.Create();

  { Se agregan los objetos. }
  for i := 0 to C_TOTAL - 1 do
  begin
    idx := List.Add(TImage.Create(nil));
    List[idx].Picture.LoadFromFile('Image1.bmp')
  end;

  { Se libera un índice en particular } 
  List.Delete(0);

  { Se libera la lista completa } 
  List.Clear;

  { Destruir completamente la lista -- Si no se han liberado objetos de la lista, se liberan en este momento. }
  List.Free;
end.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com

Última edición por movorack fecha: 17-01-2023 a las 13:52:27.
Responder Con Cita