FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
Te puedo dar un ejemplo con una componente TEdit:
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 |
#3
|
|||
|
|||
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? |
#4
|
||||
|
||||
Cita:
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 |
#5
|
||||
|
||||
Revisa éste hilo, tal vez te sea útil.
http://www.clubdelphi.com/foros/showthread.php?t=19465
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
|