Cuando creo los formularios dinamicamente no me los muestra
Hola, saludos, tengo el siguiente problema, estoy creando formularios dinamicamente, cuando cierro el formulario frmConsultar previemente creado, utilizo close(); y crea y manda llamar el siguiente formulario.. el caso es que cuando lo ejecuto, me cierra frmConsultar, pero no me muestra el frmBuscar, no sé cual sea el problema. Le calé paso a paso, y si lo cierra, si me crea y me manda llamar frmBuscar, pero cuando termina de ejecutar ese procedimiento desaparece y no se visualiza nada.
El codigo que utilizo es el siguiente:
Y en el evento o close:
Gracias por sus aportaciones. |
El código de TfrmConsultar escrito a partir de Close, no se ejecutará, dado que estás cerrando el formulario y el flujo del programa es devuelto al lugar desde donde fué llamado TfrmConsultar.... y por supuesto, si en TfrmConsultar también tienes Action:=caFree; en modo alguno se ejecutará el código.
Eso es lo que veo a simple vista... |
mmm gracias por la observación, ya le calé en ponerle el close(); ya que me crea y me manda llamar a Buscar, pero de igual manera, no lo muestra.. Cómo le puedo hacer?
|
Simplemente dejando la sentencia close la última... dejando que TfrmConsultar permanezca a la vista (parece poco elegante)
O devolver el un valor a quien llamó a TfrmConsultar y en base a ese valor hacer las operaciones pertinentes: TfrmBuscarPaciente.Create(self); ......... etc, etc Varias alternativas hay, así que prueba con la que mejor se adapte a tus necesidades.... |
Lizette, el problema si no me equivoco es el self de la línea
ya que asignas como padre de frmBuscarPaciente a frmConsultar y al momento de destruirlo, automáticamente destruye a sus hijos, te recomiendo que cambies de Self a Application. De igual manera dejaría y recomiendo el Close como la última instrucción de todas después del if, veo que lo repites no importa el resultado del diálogo modal
|
|
La franja horaria es GMT +2. Ahora son las 03:57:29. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi