Mensagem no StatusBar
Olá amigos,
Gostaria de um auxílio, pois estou elaborando uma aplicação e na tela principal estou usando um Statusbar que contém a informação do nome do operador, mas está com um pequeno problema na hora aparece o nome do operador mas depois some, estou usando essa linha de cogigo, estou retirando o nome do operador de uma tabela de login e senha.
Fabiano Ferreira
fb.repres@uol.com.br
Gostaria de um auxílio, pois estou elaborando uma aplicação e na tela principal estou usando um Statusbar que contém a informação do nome do operador, mas está com um pequeno problema na hora aparece o nome do operador mas depois some, estou usando essa linha de cogigo, estou retirando o nome do operador de uma tabela de login e senha.
procedure Tfrm_tela.Timer2Timer(Sender: TObject); begin StatusBar1.Panels.Items[0].Text := DM.tb_LoginUsuario.Text; end;
Fabiano Ferreira
fb.repres@uol.com.br
Ffb
Curtidas 0
Respostas
Massuda
15/12/2004
Parece que você está atualizando a barra de status usando um timer... o valor de DM.tb_LoginUsuario.Text está sempre disponível?
GOSTEI 0
Ffb
15/12/2004
Desculpa, não entendi sua pergunta.
Fabiano Ferreira
Fabiano Ferreira
GOSTEI 0
Massuda
15/12/2004
Parece que você está atualizando a barra de status usando um timer... o valor de DM.tb_LoginUsuario.Text está sempre disponível?
Quando o timer é executado, o valor de DM.tb_LoginUsuario.Text é válido?GOSTEI 0
Paulo_amorim
15/12/2004
Olá
Verifique se não está limpando seu conteúdo em algum momento posterior ao timer
Até+
Verifique se não está limpando seu conteúdo em algum momento posterior ao timer
Até+
GOSTEI 0
Andremuller
15/12/2004
Caso tu esteja utilizando um timer para colocar o nome do operador no statusbar a primeira coisa que te aconselho a fazer é executar isso em outro momento, como no construtor ou OnShow mesmo.
Execute no timer apenas se for necessário fazer essa verificação constantemente.
Execute no timer apenas se for necessário fazer essa verificação constantemente.
GOSTEI 0
Ffb
15/12/2004
Olá amigos,
Nenhuma das observações acima resolveu o problema, quando eu executo o aplicativo eu insiro a senha o login e quando abre a tela inicial atá aparece o nome do usuario que inseriu a senha e login, mas logo depois desaparece.
Como eu posso fazer para que esse Item do Panel da Statusbar venhar ficar com o seu Enable := True;
Atenciosamente,
Fabiano Ferreira
Nenhuma das observações acima resolveu o problema, quando eu executo o aplicativo eu insiro a senha o login e quando abre a tela inicial atá aparece o nome do usuario que inseriu a senha e login, mas logo depois desaparece.
Como eu posso fazer para que esse Item do Panel da Statusbar venhar ficar com o seu Enable := True;
Atenciosamente,
Fabiano Ferreira
GOSTEI 0
Rômulo Barros
15/12/2004
Tire esse códigos do evento do seu timer.
Coloque o código abaixo no evento ONSHOW do formulário que possui a statusbar:
Coloque o código abaixo no evento ONSHOW do formulário que possui a statusbar:
StatusBar1.Panels.Items[0].Text := DM.tb_LoginUsuario.Text;
GOSTEI 0
Tinorj
15/12/2004
O Probrema é o seguinte: 8)
Quando você está se logando ao sistema, a TTable tb_Login está aberta e então quando você pesquisa por DM.tb_LoginUsuario.Text você obter o conteúdo do campo Usuario de tb_Login, mas quando você passar para o form principal, após ter feito as verificações de usuario e senha, provevalmente você fecha tb_Login (DM.tb_Login.Close ou DM.tb_Login.Active := False) e então o conteúdo de DM.tb_LoginUsuario.Text é igual a ´´.
:idea: O Ideal seria você criar uma variável pública em seu form principal e quando você se ´logar´ no sistema, armazenar nesta variavel o nome do usuario atual e no seu TTimer fazer referência a esta variável e não mais a tabela tb_Login.
[s] :lol:
Quando você está se logando ao sistema, a TTable tb_Login está aberta e então quando você pesquisa por DM.tb_LoginUsuario.Text você obter o conteúdo do campo Usuario de tb_Login, mas quando você passar para o form principal, após ter feito as verificações de usuario e senha, provevalmente você fecha tb_Login (DM.tb_Login.Close ou DM.tb_Login.Active := False) e então o conteúdo de DM.tb_LoginUsuario.Text é igual a ´´.
:idea: O Ideal seria você criar uma variável pública em seu form principal e quando você se ´logar´ no sistema, armazenar nesta variavel o nome do usuario atual e no seu TTimer fazer referência a esta variável e não mais a tabela tb_Login.
[s] :lol:
GOSTEI 0
Andremuller
15/12/2004
Tu continua usando o timer?
Caso não, envie maiores esclarecimentos, como evento que escreve o text e verifique se não outro evento sobrescrevendo o statusbar.
Talvez seja dicas óbvias mas é que esse não é o comportamento normal do statusbar
Caso não, envie maiores esclarecimentos, como evento que escreve o text e verifique se não outro evento sobrescrevendo o statusbar.
Talvez seja dicas óbvias mas é que esse não é o comportamento normal do statusbar
GOSTEI 0
Andremuller
15/12/2004
Apenas para reforçar:
O evento onTimer deve ser somente utilizado caso tu queira fazer uma verificação constante de determinada coisa.
Exemplo: tu quer escrever algo no statusbar e apos 5min limpar a informação.
Quando a informação deve ser exibida de forma fixa utilize outros eventos (como OnShow) ou escreva o código no construtor (eu pessoalmente acho isso mais bem programado)
O evento onTimer deve ser somente utilizado caso tu queira fazer uma verificação constante de determinada coisa.
Exemplo: tu quer escrever algo no statusbar e apos 5min limpar a informação.
Quando a informação deve ser exibida de forma fixa utilize outros eventos (como OnShow) ou escreva o código no construtor (eu pessoalmente acho isso mais bem programado)
GOSTEI 0
Massuda
15/12/2004
Considerano seu [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=56139]outro post sobre este assunto[/url]: continue usando o evento OnTimer do timer para atualizar a data e hora na barra de status, mas, como os colegas sugeriram, use outro evento (como OnShow do form) para mostrar o nome do operador.
GOSTEI 0
Ffb
15/12/2004
Obrigado amigos, conseguimos resolver o erro, era somente retira o close na tb_Login na tela de login.
Atenciosamente,
Fabiano Ferreira
Atenciosamente,
Fabiano Ferreira
GOSTEI 0
Hard.disk
15/12/2004
Mas explica... pq isso tem q ser no evendo do timer??????
to curioso!!!
to curioso!!!
GOSTEI 0