FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Cerrar Formulario
Hola. Soy nuevo en el Foro y espero que puedan ayudarme a despejar mi duda.
Cuento con un formulario (frmUno) con un botón que crea y muestra un nuevo formulario (frmDos). Mi problema es que no puedo cerrar el frmUno sin cerrar el frmDos. Tengo lo siguiente: Código:
procedure TfrmUno.btnCrearNuevoClick(Sender: TObject); begin frmDos := TfrmDos.Create(nil); frmDos.Show; frmUno.Close; { <-- Al hacer esto se cierra el frmUno, pero llevándose consigo al frmDos. } end; ¿Alguien me ayuda? |
#2
|
||||
|
||||
Hola jjmtzhdz y bienvenido a Club Delphi .
Si frmUno es el form principal, sencillamente termina la aplicación y por lo tanto frmDos (y cualquier otro que esté abierto) se cerrará también. En cambio, funcionaría sin problemas si hicieras:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
||||
|
||||
jjmtzhdz,
Revisa en el ejemplo anexo al formulario principal frmMain, el cual por opciones de menú crea a los formularios frmUno y frmDos permitiendo de esta forma abrir y cerrar selectivamente a cualquiera de estos, liberar en el evento OnClose de cada formulario sus recursos de memoria y finalizar la aplicación al momento de cerrar frmMain o usar la opción Exit. Espero sea útil Nelson. Última edición por nlsgarcia fecha: 14-11-2012 a las 09:57:01. |
#4
|
|||
|
|||
no puedes cerrar el formulario principal, porque estarias cerrando toda la aplicacion....
explica mejor que quieres hacer.... si lo que quieres es abrir formularios dentro del principal yo te recomendaria crear mdiform y luego crearles los formularios child(hijos) |
#5
|
|||
|
|||
Hola. Muchas gracias por su ayuda.
Aprecio mucho su atención, pero el hecho es que no he resuelto el asunto. En los ejemplos que tan amablemente han mostrado, el formulario desde el cual se crea al segundo sigue en activo, y ese es precisamente el meollo de mi inquietud. Lo que deseo hacer es que al crear y mostrar un segundo formulario el primero cierre totalmente, descargándolo por completo de la memoria. Algo parecido a lo que propone ecfisa, pero con sólo dos formularios. Entiendo que al ser el primer formulario el principal, al cerrarlo cierre por completo la aplicación; pero tiene que haber alguna manera de pasar el "protagonismo" al segundo formulario; inclusive recuerdo haberlo hecho en el viejo VB6 con Show y Unload Me, si mi memoria no me falla. ¡En Delphi tiene que ser posible! |
#6
|
||||
|
||||
Hola jjmtzhdz.
Aunque creo que no es exáctamente lo que estas buscando, revisa este enlace: Change the MainForm at runtime?. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
||||
|
||||
jjmtzhdz,
Cita:
El código anterior permite cambiar el formulario principal en runtime y esta implementado en el ejemplo anexo en la forma que señalas en tu requerimiento. Espero sea útil Nelson. |
#8
|
|||
|
|||
La solución referenciada funcionó perfectamente.
Les agradezco mucho la atención, el tiempo y la calidad de sus respuestas; me han servido mucho. Muchas gracias. Nos escribiremos pronto. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cerrar Formulario | Red_Leon | OOP | 13 | 08-02-2010 10:22:07 |
cerrar formulario | Patricio | Varios | 2 | 04-07-2008 23:52:27 |
Cambiar propiedad de componente del formulario padre al cerrar el formulario hijo | jzginez | OOP | 5 | 22-06-2007 21:40:51 |
Cerrar conexión al cerrar formulario | arantzal | Conexión con bases de datos | 5 | 09-08-2006 12:43:52 |
Cerrar formulario en uso | locojoan | API de Windows | 1 | 21-06-2006 17:08:22 |
|