Pravim program koji komunicira sa spoljnim hardverom i ceka povratnu informaciju. Da ne bi cekao beskonacno u slucaju da nema odziva, hteo sam da upotrebim tajmer tako sto neposredno pre cekanja odziva postavim kontrolnu promenljivu na 0, ukljucim tajmer, i u tajmer rutini promenim vrednost promenljive. U petlji ispitujem ima li odziva, a takodje ispitujem i vrednost kontrolne promenljive, koja bi trebalo da se promeni ako je proteklo zadato vreme (konkretno 1000 ms) pre odziva. Medjutim, testovima sam ustanovio da se tajmer ponasa kao da nije ni ukljucen. Evo tog dela programa:
TimeOut = 0 ' kontrolna promenljiva
tmr1.Enabled = True ' tajmer je podesen na 1000 ms
Do Until Inp(regin) = 0 ' provera odziva
If TimeOut = 1 Then ' ako je promenljiva=1, izadji zi petlje
msg = MsgBox("Hardware timeout", vbOKOnly + vbCritical)
Out (regout), 0
tmr1.Enabled = False
Exit Sub
End If
Loop
A evo i tajmer rutine:
Private Sub tmr1_Timer()
TimeOut = 1 ' promeni vrednost kontrolne promenljive
End Sub
Kao sto rekoh, program se vrti u Do .. Loop petlji, ali se tajmer rutina uopste ne izvrsi. Kada tajmer aktiviram posebnim komadnim dugmetom, tajmer radi. Gde je greska?
A mozda postoji i bolje resenje za ovo sto mi je potrebno?
Pozdrav.
Sinisha




tajmer nece da se aktivira
Re: tajmer nece da se aktivira
