![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Gracias Sudamericano, creo que vamos avanzando positivamente con este tema! Tambien gracias a roman por sus aportes y si tiene razon en cuanto al aporte sobre la aparicion del formulario tipo modal
(FrmCliente.ShowModal;) pues presento el error que el menciona, pero pues si suprimimos esta linea el codigo funciona. Continuando con el tema mientras aplicaba evento "Close" del formulario "FrmCliente" tuve el problema que no podia volver a abrir el formulario. De casualidad se me ocurrio adicionar una linea en el codigo de creacion del formulario hijo de esta manera : procedure TFrmKey.ShowFrmCliente; begin FrmCliente := nil; if not Assigned( FrmCliente) then FrmCliente:=TFrmCliente.Create(Application); FrmCliente.ShowModal; end; Y con esto pude solucionar el invonveniente, pero no se que problemas pueda traer y pues quiesiera saber que significa el "nil". Sudamericano, yo estoy usando Delphi 7 y pues creo que podemos ir avanzando en lo del ordenamiento de los formularios secundarios (cascada,..) Muchas Gracias! |
|
#2
|
||||
|
||||
|
Además de que en el código que pegas sigues usando el ShowModal, el problema es que al poner FrmCliente := nil, la sdiguiente condición siempre va a ser cierta así que siempre vas a crear la ventana, exista previamente o no. El nil significa simplemente que la variable FrmCliente no apunta a nada, que no tiene ninguna referencia.
// Saludos |
|
#3
|
|||
|
|||
|
Como primer punto quiero aclarar porque pongo
primer caso :si no existe; se crea y se muestra segundo caso : si si hubiran varios form hijos lo que logra la linea mencionada es que el formulario "FrmCliente" se muestre por encima de todos. otro punto es que en el evento close debes destruir el formulario,
con eso te aseguraas de destruir el frmcliente saludos |
|
#4
|
|||
|
|||
|
Gracias Roman, que pena lo de la ultima linea se me paso lo del ShowModal ya lo he entendido. Y pues entiendo lo que me quieres decir con respecto al "nil". Entonces como se prodria resolver el problema que despues de cerrar el formulario lo pueda volver a abrir.
Saludos |
|
#5
|
||||
|
||||
Sólo es necesario usar Show si ya está creado para ponerlo al frente (equivale a poner BringToFront) pues el Create automáticamente hará el Show y pondrá el formulario al frente. // Saludos |
|
#6
|
|||
|
|||
|
codigo roman = 4 lineas
Mi codigo = 3 lineas
ambos codigos son equivalentes |
|
#7
|
||||
|
||||
|
Las líneas al compilador le son indistintas. El punto es que hay un paso de más en la otra manera (Show después de Create). Claro que- como dije al principio -no afecta y seguro que en este caso concreto nadie notará un ciclo más del procesador, pero yo prefiero como norma evitar redundancias. Desde luego es más cuestión de gustos.
// Saludos |
|
#8
|
|||
|
|||
|
Muy buen debate!! Pero compañeros, he tenido el mismo problema con cualquiera de los dos codigos!!! Despues de que cierro el formulario secundario no lo puedo volver a abrir.
saludos!! |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Diferencia entre aplicacion Clx y aplicación normal??? | JorgeBec | Varios | 1 | 27-10-2004 17:30:49 |
| aplicacion vertical? aplicacion horizontal? | maruenda | Varios | 3 | 28-02-2004 23:23:20 |
|