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 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 ... procedure TForm1.Button1Click(Sender: TObject); var f2 : Tform2; begin f2:= TForm2.Create(self); try f2.ShowModal; finally f2.Free; end; end; Código:
implementation uses Unit1; Código:
uses Unit3; // Incluyo la referencia en Uses ... procedure TForm2.Button1Click(Sender: TObject); var f3 : Tform3; begin f3:=TForm3.Create(self); try f3.ShowModal; finally f3.Free; end; end; Código:
implementation uses Unit2; 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 |
#2
|
||||
|
||||
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... |
#3
|
|||
|
|||
Cita:
Prueba de esta manera.
Prueba acceder al form2 desde Form3 usando.
haz lo mismo para Form3 y los demas formularios que quieras crear. |
#4
|
|||
|
|||
Cita:
Código:
Form2.edit_nombre:=DBgrid_clientes.Fields[1].Value; form2.edit_direccion:=DBgrid_clientes.Fields[2].Value; Form2.edit_fono:=DBgrid_clientes.Fields[3].Value; Cita:
Saludos y gracias por sus respuestas. |
#5
|
||||
|
||||
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.
|
#6
|
|||
|
|||
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 . |
#7
|
||||
|
||||
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
__________________
nuestro carácter está reflejado en cada línea de código que escribimos. |
#8
|
||||
|
||||
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.
__________________
PepeLolo El hombre el único virus que mide más de unas cuantas micras |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Acceder a propiedades componentes de un form | José Luis Garcí | OOP | 15 | 20-03-2010 11:33:38 |
Obtener el nombre del Form que llamó a otro Form. | cybergerman | OOP | 9 | 01-01-2009 11:53:29 |
llamar al evento click de un boton q se encuentra en un form desde otro form | TURBOIGOR | OOP | 6 | 02-12-2008 14:50:16 |
como puedo asociar un form a otro form? | jasz | OOP | 1 | 28-11-2007 00:12:09 |
Imposible hacer visible un form desde otro form | SMTZ | .NET | 13 | 16-01-2006 21:41:08 |
|