Ver Mensaje Individual
  #5  
Antiguo 11-12-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Celta.

La verdad que yo tampoco por que no me dá ningún error de ese modo.
Te pongo la prueba sencilla que hice, por ahí te sirve para sacar alguna idea.

Código Delphi [-]
type
  TForm1 = class(TForm)
    btCargar: TButton;
    btMostrar: TButton;
    btLiberar: TButton;
    procedure btCargarClick(Sender: TObject);
    procedure btMostrarClick(Sender: TObject);
    procedure btLiberarClick(Sender: TObject);
  private
    FLst: TList;
  public
  end;

var
  Form1: TForm1;

implementation {$R *.dfm}

uses Jpeg;

procedure TForm1.btCargarClick(Sender: TObject);
var
  Img: TImage;
  i: Integer;
begin
  FLst:= TList.Create;
  for i:= 1 to 5 do
  begin
    Img:= TImage.Create(Self);
    Img.Name:= 'Img'+IntToStr(i);
    Img.Left := 120*i;
    Img.Stretch:= True;
    Img.Picture.LoadFromFile('C:\FOTO.JPG'); // la imagen que quieras
    FLst.Add(Img);
  end;
end;

procedure TForm1.btMostrarClick(Sender: TObject);
var
  i: Integer;
begin
  for i:= 0 to FLst.Count -1 do
    TImage(FLst.Items[i]).Parent:= Self;
end;

procedure TForm1.btLiberarClick(Sender: TObject);
var
  i: Integer;
  Ene: TImage;
begin
  for i:= FLst.Count - 1 downto 0 do
  begin
    Ene:= TImage(FLst.Items[i]);
    if (Ene.Name = 'Img1') or (Ene.Name = 'Img3') then
    begin
      TImage(FLst.Items[i]).Free;
      FLst.Delete(i);
    end;
  end;
end;

Funciona igual si eliminas todos los items de la lista, el if lo puse para simular un condicional como en tu código.

Espero te ayude.

Saludos.
Responder Con Cita