Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cómo destruir un label que he creado (https://www.clubdelphi.com/foros/showthread.php?t=78150)

CarlosAlberto 23-03-2012 19:43:45

Cómo destruir un label que he creado
 
Estimados amigos: ¿cómo hago ahora para borrar o destruir un label que he creado en tiempo de ejecución?
Desde ya agradezco su ayuda.
Saludos.
Carlos Alberto

Casimiro Notevi 23-03-2012 19:45:31

¿Cómo lo has creado?

ecfisa 23-03-2012 20:46:53

Hola Carlos.

Como bién apunta Casimiro, todo depende como hiciste la creación. Si la hiciste sobre una variable a la que tenes acceso basta con que uses
Código Delphi [-]
Nombre_de_Variable.Free;
donde desees.

Si la creaste al vuelo, por ejemplo:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  with TLabel.Create(Self) do // Owner es Self
  begin
     Name:= 'MiLabel';
    ...
end;
basta con hacer
Código Delphi [-]
   TLabel(FindComponent('MiLabel')).Free;

En cambio si su hiciste su owner igual a nil, para que se oculte y libere tendrías que hacer:
Código Delphi [-]
 with FindComponent('Label1') do
 begin
   Parent:= nil; 
   Free;
 end;

Si son muchos los controles creados quizá te pueda servir hacer:
Código Delphi [-]
...

uses contnrs;

var
 ObjLst: TObjectList;

(* Crear 20 Labels *)
procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
  L: TLabel;
begin
  ObjLst:= TObjectList.Create;
  for i:= 0 to 19 do  // 20 Labels
  begin
    L:= TLabel.Create(nil);
    L.Left:= 20;
    L.Top:= 20 * i + 30;
    L.Caption:= 'Label'+IntToStr(i+1);
    ObjLst.Add(L);
    TLabel(ObjLst[i]).Parent:= Self;
  end;
end;

(* Liberar Labels creados *)
procedure TForm1.LiberarClick(Sender: TObject);
begin
  FreeAndNil(ObjLst);
end;

Saludos.

CarlosAlberto 24-03-2012 14:05:11

Probé y funcionó
 
Estimados amigos: gracias. Funcionó lo que me mandaron.
Saludos.
Carlos Alberto


La franja horaria es GMT +2. Ahora son las 01:58:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi