User Control com loop no Login.

Delphi

10/11/2011

Ola a todos,

Tenho instalado recentemente o componente User Control no meu delphi 2010.
Mas esta com o seguinte problema:
Quando logo na aplicação a aplicação inicia mas a tela de login volta novamente como se eu nao estivesse logado, fica tipo num loop coloco usuario e senha e clico em OK depois ela se fecha e volta dnovo.

Alguem ja passou por isso ? Tem alguma ideia do que seja ?
Welson Play

Welson Play

Curtidas 0

Respostas

Paulo Andrade

Paulo Andrade

10/11/2011

Acho que seria mais fácil você postar o código para uma análise.


Ola a todos,

Tenho instalado recentemente o componente User Control no meu delphi 2010.
Mas esta com o seguinte problema:
Quando logo na aplicação a aplicação inicia mas a tela de login volta novamente como se eu nao estivesse logado, fica tipo num loop coloco usuario e senha e clico em OK depois ela se fecha e volta dnovo.

Alguem ja passou por isso ? Tem alguma ideia do que seja ?
GOSTEI 0
Welson Play

Welson Play

10/11/2011

Mas ai é que ta !
Nao escrevi nem um codigo, somente
Configurei um menu para o componente e chamei a tela de login no onShow:

procedure TFPrincipal.FormShow(Sender: TObject);
begin
UserControl.Execute;
end;

Utilizo dbExp. O componente criu as tabelas tudo blz, sem nem um erro
e criou o usuario tambem.

Voce sabe o que poderia ser ??
GOSTEI 0
Welson Play

Welson Play

10/11/2011

Nada ??

Alguém ??
GOSTEI 0
Alexandre Costa

Alexandre Costa

10/11/2011

Eu também estou com este mesmo problema. Ele ativa antes do Form Principal, mas depois fica aparecendo toda hora.

O AutoStart também está False e os outros parâmetros iguais aos seus.

A chamada está assim:

procedure TfPrincipal.FormCreate(Sender: TObject);
begin
  usrUserControl.StartLogin;
  stbRodape.Panels[3].Text := Usuário: +usrUserControl.CurrentUser.Username;
end;


Vc já solucionou seu caso? Mais alguém passou por isso?
Se eu conseguir resolver postarei aqui.

GOSTEI 0
Alexandre Costa

Alexandre Costa

10/11/2011

Eu apaguei o componente UCIdle e deu certo. Parou de ficar em Loop.
Veja se tem este componente no seu formulário e faça um teste pra ver se resolve também!
GOSTEI 0
Welson Play

Welson Play

10/11/2011

Eu apaguei o componente UCIdle e deu certo. Parou de ficar em Loop.
Veja se tem este componente no seu formulário e faça um teste pra ver se resolve também!

Cara, tive que comentar a procedure FreeAndNil e acresentar o free no form login da procedure do proprio componente.
Dar uma olhada ai é as duas ultimas linhas, qualquer coisa se vc quiser usar o UCIdle que vc tinha apagado.

procedure TUserControl.ShowLogin;
begin
FRetry := 0;
if Assigned(onCustomLoginForm) then
OnCustomLoginForm(Self, FFormLogin);

if FFormLogin = nil then
begin
FFormLogin := TfrmLoginWindow.Create(self);
with FFormLogin as TfrmLoginWindow do
begin
SetfrmLoginWindow(TfrmLoginWindow(FFormLogin));
FUserControl := Self;
btOK.onClick := ActionOKLogin;
onCloseQuery := Testafecha;
Position := Self.UserSettings.WindowsPosition;
lbEsqueci.OnClick := ActionEsqueceuSenha;
end;
end;
FFormLogin.ShowModal;

FFormLogin.Free; //TIVE QUE ACRESENTAR ESSA LINHA E COMENTAR A LINHA DE BAIXO.
//FreeAndNil(FFormLogin);

end;

Vlw pela ajuda !!

[RESOLVIDO]
GOSTEI 0
Volmir Santos

Volmir Santos

10/11/2011

No meu caso tambem tive este problema mas descobri que era porque tinha um componente TUDIdle com timeout = 0
por isso ele ja executa e chamava a tela de login novamente.
Se colocar um tempo maior tipo no meu caso coloquei 30000 resolve seu problema pois esse componente é pra controle de sessao e como estava = 0 zero ele entendia que ja havia espirado a sesssao eu imagei que fosse isso.

Bom estou implementando este controle de sessaio em um sisteminha aqui porem estou com a seguinete dificuldade quando encerra a sessao e o usuario fizer logoff novamente
o contador nao dispara novamente oq precisaria fazer pra que o tempo comesse a contar novament quando estiver ocioso
alguem poderia me ajudar ja que estamos nessa?????????????????
GOSTEI 0
POSTAR