Fórum Variavéis Globais: Nível de Acesso. #431061
14/12/2012
0
Estou fazendo um Form_Login de acesso conectado a um BD Firebird, o mesmo é carregado depois do meu DataModulo, se o usuario existir ele criará o Form_Principal,vejam:
o meu problema é que o Form_Principal não está recebendo o valor da variavel do Form_Login, esta variavel é o nivel de acesso do usuario que no Form_Principal sera avalidada num CASE para HABILITAR OU DESABILITAR algumas rotinas.
program BrewerySystem;
uses
Forms,
SysUtils,
UnitDM in 'UnitDM.pas' {DM: TDataModule},
UnitLogin in 'UnitLogin.pas' ,
UnitPrincipal in 'UnitPrincipal.pas' ,
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TDM, DM);
Form_Login:=TForm_Login.Create(nil);
if (Form_Login.ShowModal = 1) then begin
Application.CreateForm(TForm_Principal, Form_Principal);
Form_Principal.nivel_acesso:=Form_Login.nivel_usuario;//VARIAVEL nivel_acesso,nivel_usuario são PUBLIC
FreeAndNil(Form_Login);
Application.Run;
end;
end.
o meu problema é que o Form_Principal não está recebendo o valor da variavel do Form_Login, esta variavel é o nivel de acesso do usuario que no Form_Principal sera avalidada num CASE para HABILITAR OU DESABILITAR algumas rotinas.
Josias Soares
Curtir tópico
+ 0
Responder
Posts
14/12/2012
Claudia Nogueira
Não gostei dessa forma que você fez.
Eu não uso assim. Eu tiro o form Form_Login do auto-create e deixo o DM e o Form_Principal.
No OnShow do Form_Principal eu faço o seguinte:
Na tela Form_Login se o login estiver correto você coloca ModalResult := mrOk; senão ModalResult := mrCancel;
Eu não uso assim. Eu tiro o form Form_Login do auto-create e deixo o DM e o Form_Principal.
No OnShow do Form_Principal eu faço o seguinte:
Application.CreateForm(TForm_Login, Form_Login); if (Form_Login.ShowModal <> mrOk) then begin Application.Terminate; Exit; end; nivel_acesso := Form_Login.nivel_usuario; FreeAndNil(Form_Login);
Na tela Form_Login se o login estiver correto você coloca ModalResult := mrOk; senão ModalResult := mrCancel;
Responder
Gostei + 0
14/12/2012
Josias Soares
Valew claudinha,
Problema resolvido, acho que o erro foi eu deixar o Form_login no autocreate e não fazer a seleção no onshow do Principal.
até mais ver...
Problema resolvido, acho que o erro foi eu deixar o Form_login no autocreate e não fazer a seleção no onshow do Principal.
até mais ver...
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)