![]() |
TEdit Propiedad Text problema para cambiar
:)
Hola amigos muchas gracias por su ayuda. soy nuevo en esto y tengo un problemilla quiero cambiar la propiedad Text de un TEdit y no puedo. tengo mi MainForm, atraves de este habro otro formulario(Form 1) de manera modal y este ultimo abre otro formulario (Form 2) igualmente de manera modal. el Tedit que les comento esta en el Form 1 y quiero cambiarle la propiedad Text desde un procedimiento (BitBtn.Clic) desde el Form 2 pero no me deja hacerlo. alguien podria ayudarmeo. (nota: si el TEdit estuviera en el MainForm e intentara cambiarle la propiedad Text desde el Form 1 si me deja hacerlo.) |
agrega a form1 en el uses del form2 y ya podrías cambiar:
Form1.Edit1.Text := '' |
nos podrias mostrar un poco de tu codigo??
Saludos!!!! |
Hola, lo que te dijo ContraVeneno es esto:
Suponiendo que la unidad del Form1 es Unit1 y la del Form2 Unit2. En la Unit2 declarás esto:
Y asi ya vas a poder acceder a los componentes del Form1 Bytes!! |
el formulario si cuenta con la referencias a las unidades donde se encuentra el componente que quiero cambiarle la propiedad (Edit.Text). es decir en la parte uses si hago referencia a las unidades.
este es la linea de codigo que no se ejecuta uses RepArticulosForm, dm, DB, MainForm, Movimiento;<-- Este es la unidad donde se encuentra el componente procedure TFormMet_Busq.DBGrid1DblClick(Sender: TObject); begin cadena:=DBGrid1.DataSource.DataSet.FieldByName('CVE_ART').Value; MovimientosF.EditCveArt.Text:= cadena; end; esto solo sucede cuando habro tres form's (1, 2 y 3) y el ultimo form que habro (3) ejecuta el procedimiento(btn.clic) para cambiar la propiedad de un componente (edit.text) del form anterior (2). cabe mencionar que los form los habro de manera modal. pero si el procedimiento (btn.clic) estuviera en el form 2 y tratara de cambiar la propiedad del componente (Edit.text) que se encuentra en el form 1 si se ejecuta el codigo Gracias y espero haber sido mas claro |
asstring en lugar value:
tambien podrías hacer la referencia directa sin tener que usar el dbgrid
o directo sin usar al variable "cadena"
|
hola ContraVeneno gracias por tu ayuda
he intentado todo lo que me han dicho tu y los demas compañeros pero aun asi no logro hacer que funcione. mi pregunta ahora es ¿el abrir muchos formularios no estara causando ese problema? por que cuando solo habro 2 formularios funciona perfectamente. los forms los habro de manera modal. |
Acabo de crear 5 ventanas. La primera tiene un label y un edit, y llama con show modal a la segunda. La segunda llama de forma modal a la tercera, y así hasta llegar a la 5ª ventana, desde la 5ª modifico el valor del Edit y el label de la primera ventana y todo funciona correctamente.
Saludos |
Pues en teoría no deberías tener problemas. Tendrías que revisar si tienes bien asignadas las unidades en el uses donde lo vayas a utilizar
|
muchas gracias amigos por su ayuda
revisare minuciosamente mi codigo a ver que encuentro mal si se les ocurre alguna otra cosa por favor comentenmelo gracias y estamos en contato |
hi lepe
con respecto a lo que hiciste lo de las cinco ventanas hice lo mismo (4 forms) y en efecto, si quiero cambiar la propiedad text del edit si puedo hacerlo, pero si el edit estuviera en cualquiera de los forms intermedios entonces es cuando ya no puedo cambiarle la propiedad text el edit. asi abro mis forms de manera modal procedure TForm1.Button1Click(Sender: TObject); var modal: TForm2; begin modal:= TForm2.Create(Application); try modal.ShowModal; finally modal.Free; end; end; y este es el codigo del ultimo form, el que cambia la propiedad text del edit procedure TForm4.Button1Click(Sender: TObject); begin Form1.Edit1.Text:= 'hola'; Form2.Edit1.Text:= 'hi'; Form3.Edit1.Text:= 'hello'; end; espero que me puedan ayudar thanx |
heyy ... heyyy para el carro ;) ;)
Si creas una variable modal que contiene al Tform2 y despues usas Form2. pues... son 2 variables distintas, es decir, dos espacios de memoria distintos, u seasé, para delphi son 2 ventanas totalmente distintas (Form2 y modal) aunque del mismo Tipo. Si has de compartir una ventana, usa siempre la variable global Form2, si no... ten mucho cuidado y jamás uses la variable Form2, porque te dará este tipo de fallos. Saludos |
hola que tal ya les debo tener artos, jajajaj
entonces me podrian indicar como debo abrir mis ventanas de manera modal, suponiendo que mi error radica en como las abro en estos momentos. |
La franja horaria es GMT +2. Ahora son las 04:03:24. |
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