UMA DUVIDA SOBRE O TIMER
No MDIForm eu tenho esses timer:
Private Sub TimerAmarelo_Timer()
DoEvents
If Cont <= 3 Then
amarelo1.BackColor = &HFFFF& [ô]Amarelo
amarelo1.Visible = Not (amarelo1.Visible)
Else
TimerAmarelo.Enabled = False
amarelo1.Visible = True
amarelo1.BackColor = &HC000& [ô]Verde
End If
Cont = Cont + 1
End Sub
Private Sub TimerSair_Timer()
DoEvents
If Cont <= 3 Then
amarelo1.Visible = Not (amarelo1.Visible)
amarelo1.BackColor = &HFFFF& [ô]Amarelo
Else
TimerSair.Enabled = False
amarelo1.Visible = True
amarelo1.BackColor = &HFF& [ô]Vermelho
End If
Cont = Cont + 1
End Sub
Quando chamo qualquer Form da aplicação o TimerAmarelo_Timer aciona, funciona perfeitamente. Bom nesse Form, existe um outro Timer que pisca um Label conforme a rotina abaixo:
Private Sub Timerlabel_Timer()
If Cont <= 8 Then
LbInformacao.Visible = Not (LbInformacao.Visible)
Else
Timerlabel.Enabled = False
End If
Cont = Cont + 1
End Sub
Tá acontecendo o seguinte, se desabilito o Timer (TimerAmarelo_Timer) do MDIForm, o (Timerlabel_Timer) do Form chamado funciona perfeitamente, mas se o (TimerAmarelo_Timer) esta abilitado o (Timerlabel_Timer) não funciona corretamente, ou seja, não pisca a quantidade programada no caso 05 vezes e sim 02 vezes e não fixa o label. Pergunto, um pode atrapalhar o outro? Os dois são distintos, não teria que funcionar individualmente?
Private Sub TimerAmarelo_Timer()
DoEvents
If Cont <= 3 Then
amarelo1.BackColor = &HFFFF& [ô]Amarelo
amarelo1.Visible = Not (amarelo1.Visible)
Else
TimerAmarelo.Enabled = False
amarelo1.Visible = True
amarelo1.BackColor = &HC000& [ô]Verde
End If
Cont = Cont + 1
End Sub
Private Sub TimerSair_Timer()
DoEvents
If Cont <= 3 Then
amarelo1.Visible = Not (amarelo1.Visible)
amarelo1.BackColor = &HFFFF& [ô]Amarelo
Else
TimerSair.Enabled = False
amarelo1.Visible = True
amarelo1.BackColor = &HFF& [ô]Vermelho
End If
Cont = Cont + 1
End Sub
Quando chamo qualquer Form da aplicação o TimerAmarelo_Timer aciona, funciona perfeitamente. Bom nesse Form, existe um outro Timer que pisca um Label conforme a rotina abaixo:
Private Sub Timerlabel_Timer()
If Cont <= 8 Then
LbInformacao.Visible = Not (LbInformacao.Visible)
Else
Timerlabel.Enabled = False
End If
Cont = Cont + 1
End Sub
Tá acontecendo o seguinte, se desabilito o Timer (TimerAmarelo_Timer) do MDIForm, o (Timerlabel_Timer) do Form chamado funciona perfeitamente, mas se o (TimerAmarelo_Timer) esta abilitado o (Timerlabel_Timer) não funciona corretamente, ou seja, não pisca a quantidade programada no caso 05 vezes e sim 02 vezes e não fixa o label. Pergunto, um pode atrapalhar o outro? Os dois são distintos, não teria que funcionar individualmente?
Informe com detalhes no tópico, o que a rotina [Ô]deveria[Ô] fazer.
Pode ser que alguém tenha uma idéia melhor para o incidente.
Pode ser que alguém tenha uma idéia melhor para o incidente.
eu não sei qual é o interval do TimerAamarelo, mas se for um numero baixo, o Cont está indo até 8 rapido suficiente para você não perceber.
Quando ele passa de 8 o TimerLabel é desativado
Quando ele passa de 8 o TimerLabel é desativado
Aqui eu aciono o (TimerAmarelo):
Private Sub Form_Load()
Verifica_Conexao
If ConexaoLM.State = adStateOpen Then
MDIPrincipal.TimerAmarelo.Enabled = True
End If
End Sub
Aqui em outro Form eu aciono o (Timerlabel)
Private Sub CmdAlterar_Click()
If MsgBox([Ô] Deseja realmente alterar essa LM?[Ô], vbQuestion + vbYesNo, [Ô]Alteração da Lista de Materiais[Ô]) = vbYes Then
Timerlabel.Enabled = True
End If
End Sub
Nesse mesmo Form ao sair:
Private Sub CmdSair_Click()
MDIPrincipal.TimerSair.Enabled = False
MDIPrincipal.TimerAmarelo.Enabled = False
Cont = 0
If Timerlabel.Enabled = True Then
Timerlabel.Enabled = False
End If
Unload Me
Set FrmAlteraLM = Nothing
MDIPrincipal.TimerSair.Enabled = True
End Sub
(Timerlabel) esta com interval = 800
(TimerAmarelo) esta co interval = 150 esse tem q ser rápido.
é isso!
Private Sub Form_Load()
Verifica_Conexao
If ConexaoLM.State = adStateOpen Then
MDIPrincipal.TimerAmarelo.Enabled = True
End If
End Sub
Aqui em outro Form eu aciono o (Timerlabel)
Private Sub CmdAlterar_Click()
If MsgBox([Ô] Deseja realmente alterar essa LM?[Ô], vbQuestion + vbYesNo, [Ô]Alteração da Lista de Materiais[Ô]) = vbYes Then
Timerlabel.Enabled = True
End If
End Sub
Nesse mesmo Form ao sair:
Private Sub CmdSair_Click()
MDIPrincipal.TimerSair.Enabled = False
MDIPrincipal.TimerAmarelo.Enabled = False
Cont = 0
If Timerlabel.Enabled = True Then
Timerlabel.Enabled = False
End If
Unload Me
Set FrmAlteraLM = Nothing
MDIPrincipal.TimerSair.Enabled = True
End Sub
(Timerlabel) esta com interval = 800
(TimerAmarelo) esta co interval = 150 esse tem q ser rápido.
é isso!
Tópico encerrado , respostas não são mais permitidas