![]() |
Cambiar propiedad de componente del formulario padre al cerrar el formulario hijo
Hola amigos tengo una duda tengo un formulario principal en el cual solo tengo un menu, dependiendo de la opcion seleccionada del menu se muestra un segundo formulario con varios speedbutton, al hacer click en alguno de estos botonos este se queda sumido (para resaltar que opcion escogio el usuario) y se abre un tercer formulario.
Lo que quiero es que al cerrar el tercer formulario el speedButton el 2º formulario regrese a su estado normal (la propiedad down = false) ya se que lo mas facil seria en el evento onclose de la forma poner
Pero el chiste es que son varios botones y varias forma, lo que quiero por decirlo así es tener que estar poniendo esta linea en todas las formas (:D es una sola linea pero no importa) para darme a entender les escribo fracmento de todo mi código Forma Principal
Con el código anterio abro la segunda forma que es la de los speedButton Ok este código es el que abre la tercera forma, lo que quisiera es poder poner algo como: formahija.buscaformapadre.buscaboton.Down:= False o en otras palabras desde la forma principal yo puedo escribir esto lo que quisiera es viajar al reves:
¿es posible esto? Gracias disculpen tanto rollo y código pero no se si me he logrado dar a entender |
Despues del dolor de cabeza que me dio tratar de entender esto resumo:
Quieres desde Form3 llamada desde Form2 cambiar algo en Form2, si se puede de hecho se llama referencias circulares: Cita:
unit2 = Form2 //Aqui se llama a form3 unit3 = Form3 en la interface de unit2 declaras a unit3 en la implementacion de unit 3 quedaria algo asi
y en el evento on close de form3 ya podras referenciar a Form2 Si no es este el problema o entendi mal te agradezco me digas para poder seguir ayudandote |
Por cierto, bonito Access Violation tienes aquí:
Te deben gustar mucho cuando repites ese código ;) :D Te sugiero cambies esas dos líneas por: FreeAndNil(FormaMenu); Saludos |
Tal vez es darle muchas vueltas al caso, pero si por lo que sea no puedes añadir al form1 al uses del form2 o necesitas agrupar el código, puedes añadir un nuevo evento al segundo formulario y enlazarlo desde el primero.
En el formulario hijo añades un evento
Y luego desde cualquier otro formulario puedes enlazarlo. Así cuando cierras el form hijo, salta este evento y ejecutas el código necesario. La ventaja que le veo es que de esta forma la programación que debes hacer en el padre al cerrar el form hijo está programada dentro del padre. No se si me he explicado. Mejor os adjunto el ejemplo; Lo subo al FTP. Añadir eventos en forms.ZIP |
Antes que nada les agradesco la ayuda
Cita:
Cita:
y ahí si me marcada error pero lo voy a cambiar por la que me recomiendas gracias. En cuanto al lo que estoy intentando hacer con mi sistema dicen que en la simplesa esta la luz, así que mas facil les mando el código fuente (ftp://200.67.246.247/deportes/ copien y pegen la dirección porque si no no se conecta a mi servidor ftp), lo que quiero es que en la forma FrmGB programar el evento onclose y en este decirle que busque la forma FrmFBMenuXXXXXX y de esta forma el speedbutton que tiene su propiedad down en verdadero y la ponga en falso o que ejecute su evento click (esto seria lo ideal). las condiciones de uso del sistema, en el primer messagebox hay que responder que No, en el menú modulo la única opción que esta programada es la de catálogos y de esa los primeros 4 Speedbutton, en cuanto a los componestes y accesos a base de datos los borre para que no les den esto problemas. Gracias |
Cita:
Cita:
// Saludos |
La franja horaria es GMT +2. Ahora son las 13:17:43. |
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