FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
cerrar form desde otro
Yo sigo preguntando.
Tengo un form que llama a otro pero cuando le doy a cancelar devuelve un valor para que cierre el form padre, le pongo close y no cierra, le pongo form.close y tampoco cierra aunque la orden si la ejecuta. gracias |
#2
|
||||
|
||||
Hola,
¿Estás mostrando el formulario "modalmente"? Cuando muestras un formulario de este modo puedes recabar su "resultado" con una serie de constantes predefinidas:
En todo caso no veo yo porqué en principio no puedes hacer algo así:
|
#3
|
||||
|
||||
Si la verdad es que es un llamada a form modal.
Llamo al form2 desde el form1 porque se abre automaticamente, si en el form2 se da a cancelar, se tiene que cerrar automaticamente el form1, pero si le pongo form1.cancel, no hace nada, y si le pongo ademas form1.free, me lo cierra pero el programa se me queda congelado. |
#4
|
||||
|
||||
Hola,
Tal como yo lo veo puedes hacer lo que he dicho más arriba. Ten en cuenta que no tienes que codificar nada, es decir, que al mostrar un formulario "modalmente" este ya retorna de por sí un resultado: "mrCancel", "mrOk", etc. De ahí que puedas mostrar el formulario 2 desde el formulario 1, y, si se cierra el formulario 2 con "algo" distinto a "mrOk"... nada te impide cerrar el formulario 1. Es lo mismo de antes:
|
#5
|
||||
|
||||
pues sigue sin funcionar, como no sea que lo tengo metido en un form.activate, .....
de todas formas nose porque no me funciona poner close, y con free se me bloquea, lo unico que me funciona es hide, pero estoy viendo que en todos los forms que estoy usando si pongo free despues del close, porque ahi el close si me funciona, añadiendo el free me sale una ventana de dialogo que pone esto: "Projetc programa.exe raise exception class EAbstractError with message 'Abstract Error'. Process stopped. Use step or run to continue, pero eso en tiempo de ejecucion. |
#6
|
||||
|
||||
Saludos al foro.
Si el form2 lo madas llamar en el evento OnActivate del form1, es un ciclo sin fin, la primera vez que creas form1 y se hace la ventana activa, disparas su evento OnActivate porque le pasas el foco; al momento de regresar de la llamada modal de form2, le pasas de nuevo el foco a form1, disparando de nuevo su evento OnActivate y llama de nuevo a form2. Te recomiendo mover el código del OnActivate al OnShow o al OnCreate.
__________________
eLcHiCoTeMiDo - Rompecorazones profesional Yo no soy presumido; ¿Pero de qué sirve mi humilde opinión contra la de los espejos? Salva a un nylon, usa prendas de piel de foca |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
llamar a procedimientos desde otro form | David | OOP | 8 | 06-09-2006 18:28:12 |
Cambiar foco desde otro form | Sandy656 | Varios | 3 | 25-08-2006 14:29:41 |
Cerrar un Form MDI al abrir otro MDI | David | OOP | 7 | 17-08-2006 18:14:37 |
Imposible hacer visible un form desde otro form | SMTZ | .NET | 13 | 16-01-2006 21:41:08 |
Cerrar mi programa desde otro | Sr_Sombrero | API de Windows | 2 | 02-12-2004 22:12:09 |
|