FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Problema con pantalla de password (ventana modal)
Despues de mirame varios hilos del foro no doy con la solucion al problema, el código que uso es el siguiente en el dpr:
Código:
//Creo la ventana modal de la contraseña FLogin := TFLogin.Create(Application); Respuesta := FLogin.ShowModal; if Respuesta = mrOK then begin Application.CreateForm(TForm1, Form1); Application.Run; end; Código:
procedure TFLogin.BOKClick(Sender: TObject); begin //comparo el nombre de usuario y la contraseña ModalResult := mrok; end; procedure TFLogin.FormClose(Sender: TObject; var Action: TCloseAction); begin If ModalResult <> mrOk Then close; //ModalResult := mrAbort; end; Como lo puedo arreglar, para que no salgan esos errores, creo que tendria que liberar o cancelar la ejecucion, pero no encuentro el procedimiento adecuado que creo que seria algo como Application.Close;
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5 |
#2
|
||||
|
||||
Haz lo siguiente:
Un saludo. |
#3
|
||||
|
||||
Sigue sin funcionar bien, a ver que es lo que pasa. Este es el código que tengo en el .dpr:
Código:
Var Respuesta: Integer; begin Application.Initialize; Application.CreateForm(TDMAgenda, DMAgenda); Application.CreateForm(TDMHacienda, DMHacienda); Application.CreateForm(TForm1, Form1); Application.CreateForm(TFLogin, FLogin); Application.CreateForm(TFAgenda_MDIChild, FAgenda_MDIChild); //Creo la ventana modal de la contraseña Respuesta := FLogin.ShowModal; if Respuesta = mrOK then begin FLogin.Destroy; Application.CreateForm(TForm1, Form1); Application.Run; end else Application.Terminate; end. Un saludo y gracias.
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5 |
#4
|
||||
|
||||
Revisa la solución de Roman en este hilo.
con esto, muestras la ventana principal de tu programa y la de login. Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
||||
|
||||
He modificado el código de la siguiente forma, pero no hay manera, sigue dando el error de violavion de memoria, y ya no se que mas probar, creo que así esta bien, el error lo da al final del todo, es decir, que salta en la linea end.
Código:
... begin Application.Initialize; Application.CreateForm(TDMAgenda, DMAgenda); Application.CreateForm(TDMHacienda, DMHacienda); FLogin := TFLogin.Create(Application); try Respuesta := FLogin.ShowModal; if Respuesta = mrOK then begin Application.CreateForm(TForm1, Form1); Application.CreateForm(TFAgenda_MDIChild, FAgenda_MDIChild); Application.Run; end else Application.Terminate; finally FLogin.Free; end; end.
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5 |
#6
|
||||
|
||||
Hola
Comenta el FLogin.free Saludos |
#7
|
||||
|
||||
Kalimero, asi tampoco ha funcionado, pero al final lo he resuelto de una forma mejor, pues ahora si se introducen mal los datos del login, entra al programa, donde puede crearse una agenda o conectarse a una existente.
Gracias.
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5 |
#8
|
||||
|
||||
A mi con lo que te puse me funciona perfectamente.
Cita:
Si le das a la X -> ModalResult := mrCancel Otro detalle, la pantalla que tu llamas Form1 no la pongas "autocreate". Es decir, en Project->Options la tienes que dejar en la lista de la derecha. Un saludo. Última edición por hermes_32 fecha: 04-05-2005 a las 15:25:43. |
|
|
|