![]() |
Modificar componente de Formulario Padre
Buenas
Desde un formulario(Padre) creo otro (Hijo) de la forma: Código:
TFORM2 *FHIJO;Gracias |
Hola NEG1414.
Cita:
Código:
FHIJO->Show();Saludos :) |
Gracias por contestarme..
Tu respuesta me ha planteado dos preguntas: 1) Que pierdo si muestro el Form de la forma FHIJO->Show();(Supongo que el Form Padre seguira "Activo" y se podran manipular sus componentes en tiempo de ejecucion) 2) Si decido no mostrarlo modal como modifico el componente del Form Padre. Gracias. |
si en el unit de tform2 incluyes el .h de tform1 podras modificar cualquier componente por ejemplo Form1->Panel1->Caption= "Cambiado desde Form2";
|
Hola NEG1414.
Cita:
Es tal cuál te explica aguml, posicionado en el form hijo: File => Include Unit Hdr... => elije el form padre. Luego podrás modificar las propiedades de los objetos del form padre como te indica. Saludos :) |
Gracias por contestar...
El caso es que al realizar el acceso de esa manera, al ejecutar la linea donde hago el cambio salta el error: `Acces Violation at adresss..... mi codigo: Código:
#include ¨FormPadre.h¨Alguna idea. |
te falta algo al crear el panel. ¿Lo creas en ejecucion? Asegurate que la propiedad parent apunte al form padre.
|
¿No será que FFormPadre es un puntero con valor nulo?
Revisa ese punto. Saludos. |
Gracias a los dos por contestar...
le voy a dar unas vueltas |
Creo que he dado con el problema... El FormPadre es a su vez hijo Modal de otro Form (Abuelo :)) y esto crea un conflicto ..el caso es que he hecho un sencillo programa con tres forms el "Abuelo" abre modalmente al "Hijo", este modifica un componente del "Abuelo" de la manera que me habeis indicado y perfecto...el resultado no es el mismo cuando a su vez abro el Form "Hijo" modalmente desde el form"padre" e intento modificar uno de sus componentes... me da el error comentado al inicio....
Hay alguna solucion para este problema "FAMILIAR" gracias |
Creo que he dado con el problema... El FormPadre es a su vez hijo Modal de otro Form (Abuelo :)) y esto crea un conflicto ..el caso es que he hecho un sencillo programa con tres forms el "Abuelo" abre modalmente al "Padre", este modifica un componente del "Abuelo" de la manera que me habeis indicado y perfecto...el resultado no es el mismo cuando a su vez abro el Form "Hijo" modalmente desde el form"padre" e intento modificar uno de sus componentes... me da el error comentado al inicio....
Hay alguna solucion para este problema "FAMILIAR" gracias Nota:Perdonar que repita el post.. me he echo un lio con editar y citar |
yo ya me perdi en el arbol genealogico XD Se me ocurre que prueves algo. Si el padre es modal y el hijo es modal, cuando muestres al hijo oculta al padre antes, y muestralo despues. O sea, tu haras en un boton FormHijo->ShowModal(); pues antes de esa linea pon Hide(); y luego en el hijo haces por ejemplo FormPadre->Panel1->Width = 100; pues pon despues FormPadre->ShowModal() o FormPadre->Show(). Igual es problema de que haya dos modal a la vez asi que yo probaria a quitar el modal antes de mostrar la nueva modal y luego de cerrar la hija devolver a modal al padre.
|
Gracia por contestarme...
Si no encuentro solucion probare a abrir el hijo de la forma NO MODAL: FHIJO->Show() y haber que pasa.. |
| La franja horaria es GMT +2. Ahora son las 02:46:11. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi