Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Problemas con componentes dinámicos (https://www.clubdelphi.com/foros/showthread.php?t=15217)

mamaro 14-10-2004 16:50:54

Problemas con componentes dinámicos
 
Hola!

Estoy haciendo un programa que crea varios paneles en tiempo de ejecución, que dependiendo del valor de un base de datos es el color que les pone a cada uno .....

...mi problema viene cuando intento cambiarle el color después de crearlo...

¿como hago para cambiarles las propiedades después de haberlos creado?
o tal ves la pregunta sea
¿como hago para hacer referencia a un objeto creado en tiempo de ejecución? :confused:

keyboy 14-10-2004 17:03:18

Cita:

Empezado por mamaro
¿como hago para hacer referencia a un objeto creado en tiempo de ejecución?

Al momento de crear el objeto asignas el resultado de Create a una variable:

Código:

var
  UnPanel: TPanel;
 
 begin
  UnPanel := TPanel.Create(...);
  UnPanel.Color := clGreen;
 end;

Si necesitas hacer referencia al objeto creado fuera del contexto donde se creó entonces declara la variable (UnPanel en este caso) en el contexto externo.

Bye

Neftali [Germán.Estévez] 14-10-2004 17:14:06

Cita:

Empezado por mamaro
..¿como hago para cambiarles las propiedades después de haberlos creado?
o tal ves la pregunta sea
¿como hago para hacer referencia a un objeto creado en tiempo de ejecución?

Lo más sencillo y claro será verlo con un ejemplo; este código te crea dos paneles en un form y les cambia el color:

Código Delphi [-]
var
p1,p2:TPanel;
begin
 
p1 := TPanel.Create(Self);
p1.Name := 'panel1';
p1.Parent := Self;
p1.Left := 0;
p1.Top := 100;
p1.Width := 300;
p1.Height := 100;
p1.Color := clWhite;
 
p2 := TPanel.Create(Self);
p2.Name := 'panel2';
p2.Parent := Self;
p2.Left := 0;
p2.Top := 200;
p2.Width := 300;
p2.Height := 100;
p2.Color := clRed;


La franja horaria es GMT +2. Ahora son las 05:57:45.

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