![]() |
Descargar form
Hola. El problema que tengo es que yo cierro los forms con nombreform.close, pero al llamarlo de nuevo, el formulario sigue como estaba, tengo un dbgrid y sigue con los datos que tenia, etc.
Como hago para "inicializar" el formulario de nuevo? Saludos y gracias. Nacho |
Por defecto, cuando cierras un formulario, éste no se destruye, sólo se oculta. Para modificar este defecto utiliza el evento OnClose del formulario:
// Saludos |
Cita:
También añadir que luego, para mostrar el formulario tendrás que crearlo nuevamente, pues si haces solamente un Form1.Show, obtendrás un AccessViolation. Ya que el formulario se creará y destruirá dinámicamente, pues quitarlo de la lista de auto-create y crearlo siempre... Por otro lado, si lo único que te interesa es limpiar el Grid, también podes valerte del evento OnShow, que se dispara cuando el formulario estaba oculto y se muestra, y en este, por ejemplo, cerrar el query que se muestra en el grid. Saludos. |
Je, je, veo que estás atento :)
Yo también concuerdo con eso, pero en realidad estaba jugando con las palabras. Ocultarse es el comportamiento por defecto (es decir, por default), luego entonces si se quiere otro comportamiento hay que cambiar ese defecto. :D // Saludos |
Hola roman: la verdad es un buen juego de palabras... ya se cómo justificarle a mi jefe o a mi esposa cuando les resalto algún su "defecto".. :D
|
Cita:
:D :D :D Disculpa, no me pude contener :D // Saludos |
Gracias
Gracias. Creo que voy a optar por la 2da opcion, porque si tengo que volver a crearlo, etc ya se me complica y sobrepasa mis conocimientos novatos de delphi.
En visual basic yo hacia Unload(form), y luego con el show bastaba por mas que lo haya descargado. Para ocultarlo habia un método más "acertado" que se llamaba hide, pero bueno supongo q tener una oop mejor tiene sus precios. |
Cita:
No te preocupes ni te disculpes... todos hemos estado perdidos alguna vez :cool: Cita:
Además, si solo vas a tener una instancia de Form1 creada, la cosa puede simplificarse aún mas:
Tan sencillo como eso.. |
Cita:
:confused: :confused: :confused: (espero que mi jefa no vea esto... :D:D) |
La franja horaria es GMT +2. Ahora son las 10:05:19. |
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