Ver Mensaje Individual
  #3  
Antiguo 23-03-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
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 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.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 23-03-2012 a las 20:50:09.
Responder Con Cita