FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Acceder a componentes creados en ejecución
Tengo un Form creado en ejecución con varios componentes, entre ellos un TComboBox, unTEdit y un TButton. Quiero que el botón seleccione un elemento del Combo y lo pase al TEdit.
Si puedo acceder al botón, pero no consigo acceder al dato del Combo y pasarlo al TEdit. Saludos. bulc |
#2
|
|||
|
|||
Si lo creas en ejecución, guarda una referencia al control creado
fEdit : TEdit; ... fEdit:= TEdit.Create(Form1); ... y antes de hacer algo, te aseguras que está asignado if (fEdit <> nil) , o if Assigned(fEdit ) Otra forma podría ser asignar la propiedad Tag con un identificador único, y escribes una función que te sirva para localizar un componente del form pasando el Tag como parámetro. |
#3
|
||||
|
||||
Hola.
Sinceramente no sé si entendí bién la situación... Pero a ver, si el problema radica aquí entonces el caso es que: Edt_Tema de tipo TEdit y CBox de tipo TComboBox son variables locales del método Button1Click y para usarlas desde el método Btn_Tema podrías:
1. 2. 3.
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#4
|
||||
|
||||
He probado con FindComponent
Y no he ha servido. Las variables no eran asignadas. No estaban accesibles...
Luego he declarado las variables componente: - Var Edt_Tema : TEdit, CBox : TComboBox ... como Private y ha ido perfectamente. Ya puedo acceder desde el evento del botón Btn_TemaClick a todos los componentes. Y mira que le había dado vueltas a la cosa. Intentaba pasar los componentes Edi_Tema, CBox como parámetros. Iba muy perdido. Maravillado de la sencillez de la respuesta te doy las gracias más efusivas. Saludos. Bulc |
#5
|
||||
|
||||
Hola.
Si el nombre que le asignaste en la creación del componente (y fué creado) es el mismo que usas como argumento del método FindComponent funcionará, te lo aseguro. Pero también coincido en que cualquiera de los dos primeros modos es mucho mas simple y más eficiente que ese, ya que sólo se trata de ampliar el ámbito de las variables en cuestión. Saludos y me alegro mucho que lo solucionaras
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#6
|
||||
|
||||
Sí, lo he solucionado
He puesto los componentes del Form dinámico dentro del apartado Private y ha funcionado a la primera.
De ese modo los componentes quedan accesibles al código del botón creado con ese Form dinámico. No pongo código por haberlo puesto antes. Saludos y muchas gracias al personal y foreros. bulc |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problemas al acceder a componentes de formularios en tiempo de ejecución | MAXIUM | Varios | 4 | 26-11-2018 14:50:45 |
Controlar componentes creados en tiempo de ejecución. | damirua | OOP | 1 | 13-05-2010 14:03:58 |
Problema con borrado de componentes creados en tiempo de ejecución | harpo | OOP | 5 | 22-12-2007 16:54:55 |
cambiar tamaño y mover componentes creados en tiempo de ejecucion | gulder | API de Windows | 4 | 18-11-2006 23:21:16 |
Eventos en componentes creados en tiempo de ejecucion | joumont | OOP | 3 | 27-12-2005 14:48:23 |
|