Melissa_12,
Cita:
Empezado por Melissa_12
He probado el enlace que me ha dicho Nelson y no se muy bien donde poner el código que viene. O sea, ya he puesto la función para poner la forma que quiero como forma principal pero desde donde debo llamar el procedimiento?
|
En el caso particular de que el Form de acceso de tu aplicación sea el MainForm, puedes una vez validado y aceptado el acceso del usuario al sistema, colocar el siguiente código antes de llamar a la primera pantalla de tu aplicación (Se asume que FormLogin es el MainForm):
Código Delphi
[-]
procedure SetAsMainForm(aForm:TForm);
var
P : Pointer;
begin
P := @Application.Mainform;
Pointer(P^) := aForm;
end;
procedure ValidateLogin(UserName, PassWord : String);
begin
SetAsMainForm(FormApp);
FormApp.Show;
FormLogin.Close;
end;
El código anterior
establece a FormApp como formulario principal en vez de FormLogin y cierra el formulario de login.
Una forma mas estándar de usar un formulario de login es la siguiente:
Código Delphi
[-]
procedure TForm1.FormCreate(Sender: TObject);
begin
Form2 := TForm2.Create(nil);
Form2.Visible := False;
Form2.BorderStyle := bsDialog;
if Form2.ShowModal = mrOk then
begin
Form1.BringToFront;
Form2.Release;
end
else
Application.Terminate;
end;
El código anterior llama en el evento
OnCreate de Form1 al formulario de login Form2 el cual valida el acceso a la aplicación.
Form2 no se encuentra configurado en:
Project -> Options -> Forms -> Auto-create forms y por ser de tipo
Modal, Form1 no se visualizara hasta que el acceso sea valido, caso contrario finalizara la aplicación.
Te anexo un ejemplo de login usando una aplicación
MDI, pero la lógica es la misma para aplicaciones
SDI. El ejemplo esta disponible en el link:
http://terawiki.clubdelphi.com/Delph...load=Login.rar
El ejemplo de cambiar el formulario principal del
Mensaje 3 esta disponible en el link:
http://www.clubdelphi.com/foros/atta...7&d=1353126375
Espero sea útil
Nelson.