FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
cerrar sesión en aplicación
Hola, lo que deseo hacer es poder cerrar sesion en mi aplicacion para que me vuelva a pedir la ventana de logueo, el codigo que utilizo para mostrar la ventana de usuario y contraseña es este
Application.Initialize; Application.CreateForm(TmoduloDatos, moduloDatos); frmInicio:=TfrmInicio.Create(nil); if frmInicio.ShowModal = mrok then begin Application.CreateForm(TfmPrincipal, fmPrincipal); Application.Run; end else Application.Terminate; Gracias por vuestro tiempo y atención |
#2
|
||||
|
||||
Mira no veo bien cual es el form que tiene el logue, pero lo que podes haces es un timer, enlazado al evento Onmousemove.. (creo que esasi) que se active cuando el mouse deja de moverse.. (es decir, lo dejas activo siempre pero pones un variable global que haga de control) despues de N veces que no se puso a cero, cuando pasa por el evento Ontime. mostras nuevamente el formulario de logueo.. Mas o menos como esto:
Última edición por Enan0 fecha: 22-11-2005 a las 12:56:24. |
#3
|
||||
|
||||
Saludos
Este codigo ya no te servira de mucho. Has un codigo que haga: 1) Oculte la ventana principal 2) Muestre la pantalla de acceso: Acepta: 2.1) Muestra el Formulario Principal Cancelar:2.2) Cierra la aplicacion completa .... ....
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#4
|
|||
|
|||
Es una aplicacion con MDI
frmInicio --> es el formulario de logueo
fmPrincipal --> es el formulario principal MDI Ahora mi problema es que si solo oculto el formulario fmPrincipal y este tiene abiertos forms MDIChild, la siguiente vez que lo muestro dichas ventanas siguen ahi. De todos modos preferiria crear nuevamente ese form, en vez de solo ocultarlo. Probe con este código, pero se queda en un bucle infinito... la variable Finalizar la cambio a true desde el evento OnClose de fmPrincipal Código:
Finalizar:=false; while not Finalizar do begin frmInicio:=TfrmInicio.Create(nil); if frmInicio.ShowModal = mrok then begin Application.CreateForm(TfmPrincipal, fmPrincipal); Application.Run; fmPrincipal.Free; end; frmInicio.Free; end; Application.Terminate; |
#5
|
||||
|
||||
Saludos
Si el problema es los formularios hijos puedes hacer esto antes del paso 1: 0) Cerrar todas las ventanas hijas activas
Cita:
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#6
|
|||
|
|||
quiero que se muestre el form de logueo nuevamente
Gracias por las respuestas, pero lo que necesito es que se vuelva a mostrar la ventana de logueo y q la ventana principal se destruya, ahora no tengo idea de como hacer el codigo para eso, lo intente pero se queda en el bucle....
|
#7
|
||||
|
||||
Si la ventana principal es la MDI, cuando se destruye, se cierra la aplicación, y este efecto no puede cambiarse.
Si pones como ventana principal la de logueo, entonces jamás puedes destruir esa ventana, solo podrás ocultarla, y estará siempre en memoria. Lo que yo haría es lo siguiente: - Ventana principal la MDI. - Cuando se muestre la de logueo:
- Si cancela la ventana de logueo: Application.Terminate y corriendo que están levantando tabiques . Si aceptan la ventana de logueo, según el nuevo ususario, muestras los botones de la barra de herramientas y menús que sean oportunos. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
|
|