Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Crear objetos dinamicamente (runtime) (https://www.clubdelphi.com/foros/showthread.php?t=20088)

Ing_Fajardo 05-04-2005 20:36:41

Crear objetos dinamicamente (runtime)
 
Hola
Tengo un proyecto en el cual muestro graficas de temperatura de varios hornos ( hornos industriales, no de microhondas )

Tengo 30 hornos, tengo los controles necesarios para leer las temperaturas, graficar etc..etcc..

PERO quiero que si, en el futuro se quitan o ponen hornos, el usuario pueda poner o quitar mas graficas.

Siendo que cada grafica es un control, como puedo agregar o quitar graficas (controles) por programacion??

Lo de agregar espacio no hay problema, ya que uso un 'PageControl' y si puedo agregar pestañas por programacion.

Saludos.

roman 05-04-2005 20:50:25

Te puedo dar un ejemplo con una componente TEdit:

Código Delphi [-]
with TEdit.Create(Self) do
begin
  Left := 8;
  Top := 8;
  
  {
    otras propiedades
  }

  Parent := Self;
end;

Parent puedes ser Self (usualmente el formulario) o bien otro control contenedor donde quieras insertar la componente, por ejemplo un TabSheet del PageControl. Parent es necesario para que se muestre el control recién creado.

// Saludos

Ing_Fajardo 05-04-2005 22:09:25

Gracias, entiendo, pero, no deberia guardar alguna referencia sobre el nuevo objeto?

Creo que ya entendí como hacerlo, solo confirmando, necesito una variable del tipo del objeto, no? ejemplo

var
miedit: TEdit;


y si quiero mas, supongo que puedo hacer un arreglo de objetos, no?

roman 05-04-2005 22:14:23

Cita:

Empezado por Ing_Fajardo
Gracias, entiendo, pero, no deberia guardar alguna referencia sobre el nuevo objeto?

Depende de sí necesitas posteriormente usar el objeto en código. En tal caso, sería tal cómo dices.

Pero si no necesitas interactuar con el objeto en código entonces no es necesario. En la creación de la componente, al pasarle Self, como parámetro le estás indicando que Self- muy posiblemente el formulario - será el dueño de la componente y por tanto el encargado de destruirla de manera que ni siquiera tienes que liberarla tú mismo.

// Saludos

Neftali [Germán.Estévez] 06-04-2005 10:02:56

Revisa éste hilo, tal vez te sea útil.
http://www.clubdelphi.com/foros/showthread.php?t=19465


La franja horaria es GMT +2. Ahora son las 22:14:34.

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