Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > La Taberna
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-03-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Los aportes y mensajes de cada uno

Algunas veces surgen comentarios sobre la cantidad de mensajes que tiene este o aquel usuario, o las buenas respuestas que da uno u otro.
Yo sé que mis respuestas son normalmente bastante escuetas, secas, cortas y otros usuarios se toman su tiempo en contestar incluso con buenos ejemplos.
Lo digo porque me ha llamado la atención este hilo donde se ve claramente la diferencia entre uno y otro, a la hora de contestar.
Un usuario pregunta por la mejor manera de liberar un TLabel creado en tiempo de ejecución.
Respuesta de Casimiro Notevi:
Cita:
Empezado por Casimiro Notevi
¿Cómo lo has creado?
Respuesta de ecfisa:

Cita:
Empezado por ecfisa
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.
En fin, ¿calidad de los aportes?, ahí se ve claramente

Última edición por Casimiro Notevi fecha: 23-03-2012 a las 21:21:06.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Fechas de Pagos 15 y 30 de cada mes! TheNew Varios 8 26-05-2010 04:10:51
Cada cosa en su lugar jcarteagaf Humor 2 22-05-2008 15:58:53
un Registrio que empiece de 1 cada mes!! Yun-i Varios 8 21-02-2008 20:09:45
Fondo de Cada Dia - MonthCalendar jevo19100 OOP 3 06-02-2006 15:45:25
dar color a cada Row de un Grid Yaco Gráficos 2 21-10-2004 19:32:48


La franja horaria es GMT +2. Ahora son las 19:39:39.


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