![]() |
Acceder a componentes de otro form
Hola, espero me puedan ayudar con este problema que tengo
Desde el Form1, el principal de la aplicacion, creo otro formulario, por ejemplo así: Código:
uses Unit2; // Incluyo la referencia en el Uses Código:
implementation Código:
uses Unit3; // Incluyo la referencia en Uses Código:
implementation Es mas, si incluyo Unit1 en el uses del form 3 si que puedo asignarle valores a los edit del Form1 sin problemas. Intente crear la variable de tipo Form2 en el interface del Form1 para luego incluir el Unit1 en el Form3 y poder acceder de la forma: Código:
f2.edit1.text :='algo' Debo cometer algun error que no consigo ver. Espero puedan ayudarme, de antemano gracias. Utilizo Delphi XE y Windows 7 |
Y pregunto, de donde tratas de acceder a objetos de Form2 desde Form3? Es decir, al hacer click en algun boton de Form3, en el OnCreate?
Por ahi viene por ese lado la cosa... PD: Mis disculpas por la ortografia pero estoy en un teclado en ingles... |
Cita:
Prueba de esta manera.
Prueba acceder al form2 desde Form3 usando.
haz lo mismo para Form3 y los demas formularios que quieras crear. |
Cita:
Código:
Form2.edit_nombre:=DBgrid_clientes.Fields[1].Value; Cita:
Saludos y gracias por sus respuestas. |
Bueno... No vi la respueta de arriba, je. Lo mas sensato seria no declarar la variable en ningun lado. La variable ya existe, se llama Form2 y esta declarada en la Unit2.
|
Cita:
Probe lo que ponia @beginner01 y no me funciono por que estaba usando la variable Form2 cuando en realidad en mi programa la variable es Form_ingreso_comprobante, no me di cuenta hasta que vi tu respuesta Lord Delfos. Muchisimas gracias a ambos, con esto mi problema queda resuelto :D . |
bueno, no se muy bien para que necesitas acceder a componentes de otro formulario el hecho que se pueda no significa que se deba, una clase solo deberia conocer la interfaz de otra y en esta otra no deberian estar publicados sus componentes, recuerda que los objetos son cajas negras y no pueden estar interactuando entre si por todos lados, a mayor cantidad de enlaces mas dificil te sera depurar ademas otro que ve tu codigo tendra que abrir varios formularios para entenderlo, es mi opinion, salu2
|
Porque no colocas el dataset y DataSource que manejas en un DataModulo que será visible por todos los formularios y los campos del form2 los enlazas al datasource del DataModulo, así tendrás la misma información en un formulario y en otro, sin necesidad de acceder a las propiedades de distintos formularios.:D
|
La franja horaria es GMT +2. Ahora son las 11:27:38. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi