FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
¿Como almaceno componentes creados dinamicamente?
Tengo un botón que cumple el objetivo de crear preguntas de forma dinamica, para ello cada vez que se presiona crea lo siguiente:
- TLabel - TEdit - TCheckBox - TComboBox y todo eso lo guardo en un TGroupBox Luego de configurar (asignar padre, hint, caption, posición), me gustaría guardarlo, primero pensé en un array de TGroupBox, pensando que podría acceder a sus hijos y eliminarlos cuando yo quisiera. En resumen, lo que estoy buscando es donde almacenar la lista de objetos creados, con el único objetivo de crear un botón "eliminar pregunta", que remueva todas aquellas seleccionadas por el checkbox. La única que se me ocurre es un array de tlabel, otro de tedit, etc |
#2
|
|||
|
|||
No creo necesario que los almacenes en ningún sitio, estarán en la propiedad controls o components del padre al que pertenecen. Yo les asignaría en la propiedad tag del group box un id para identificarlos, y cuando quiero borrarlo busco el group box por el id, y lo borro, y así elimino todo lo que hay en el group box.
|
#3
|
|||
|
|||
Vale, lo intentaré, gracias
|
#4
|
|||
|
|||
No entiendo nada
Código:
for I := 0 to sbPreguntas.ControlCount - 1 do //Por cada GroupBox begin vGroupBox:=sbPreguntas.Controls[i]; for j := 0 to vGroupBox.ControlCount - 1 do //Recorro sus componentes begin if 'TCheckBox' = vGroupBox.Controls[j].ClassName then //Si es un checkbox begin vCheckBox:=vGroupBox.Controls[j]; if vCheckBox.Checked then //Consulto si fue seleccionados //Elimino el GroupBox end; end; end; Además si intento eliminarlo, me explota, ya que los estoy recorriendo ¿quizás debo recorrer de forma decremental? Agradecería si me puedes dar un ejemplo en código |
#5
|
|||
|
|||
Hola...
En algunas partes tienes que hacer "casteo" de clases para que tu código funcione...
Saludos... |
#6
|
|||
|
|||
Gracias
Aún estoy teniendo problemas al eliminar (en algunos casos), cuando elimino alguna pregunta que está en medio, pues en realidad el problema no es eliminarla, es crear una nueva luego de haber eliminado una del medio. ¿Cuál sería en Index de la última? Ya que al eliminar una parece ser que cambia ¿ CountItems -1 ?. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Borrar objetos creados dinámicamente | Angel.Matilla | C++ Builder | 6 | 11-05-2017 21:15:22 |
Frames creados dinamicamente no se ven | duilioisola | OOP | 2 | 11-03-2011 12:39:12 |
Campos creados dinámicamente clientdataset | sur-se | Varios | 6 | 18-10-2010 08:43:33 |
cerrar formularios creados dinamicamente | ctronx | Varios | 5 | 17-06-2004 18:25:17 |
Campos creados dinámicamente vs creados estáticamente | Jose_Pérez | Conexión con bases de datos | 2 | 14-04-2004 11:34:03 |
|