Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

tajmer nece da se aktivira

[es] :: Visual Basic 6 :: tajmer nece da se aktivira

[ Pregleda: 5903 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
*.ptt.yu



+321 Profil

icon tajmer nece da se aktivira15.10.2002. u 00:06 - pre 261 meseci
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

 
Odgovor na temu

Krsta
Krstić Dejan
Programer & Web Developer
Kruševac

Član broj: 2461
Poruke: 307
*.ptt.yu

Sajt: www.atec.rs


+15 Profil

icon Re: tajmer nece da se aktivira15.10.2002. u 00:40 - pre 261 meseci
Nisam siguran ali predpostavljam da je stvar u petlji.
Tu ti se program zadrzi i tajmer ne reaguje.
Probaj da napravis EXE i tad da pokrenes program.
 
Odgovor na temu

Nemanja Dubravac
Nemanja Dubravac
Sombor / Wien

Član broj: 4621
Poruke: 955
62.108.126.*

Sajt: https://www.shpock.com


+3 Profil

icon Re: tajmer nece da se aktivira15.10.2002. u 01:51 - pre 261 meseci
Ubaci Do Events u Loop petlju.... posto ne izvrsava nista drugo dok se ta petlja ne zavrsi valjda
 
Odgovor na temu

jc denton

Član broj: 2358
Poruke: 1705
195.252.103.*



Profil

icon Re: tajmer nece da se aktivira15.10.2002. u 03:22 - pre 261 meseci
Citat:
rsinisa:
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.


E, ako vec radis bas to sto si opisao, onda ne preporucujem koriscenje Timer kontrole nego Timer funkciju preko koje mozes mnooogo preciznije da kontrolises takve procese.
Recimo :
vreme=timer
do
doevents
if (timer-vreme) > neki_interval then
neki_kod
exit do
endif
loop

pozdrav
fire, walk with me
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
*.ptt.yu



+321 Profil

icon Re: tajmer nece da se aktivira15.10.2002. u 22:38 - pre 261 meseci
Citat:
Krsta:
Probaj da napravis EXE i tad da pokrenes program.


Nije pomoglo.

Citat:
PcManiac:
Ubaci Do Events u Loop petlju


Da, to je ono pravo !

Citat:
jc denton:
E, ako vec radis bas to sto si opisao, onda ne preporucujem koriscenje Timer kontrole nego Timer funkciju preko koje mozes mnooogo preciznije da kontrolises takve procese.


Molio bih te da mi objasnis zasto je to mnogo preciznije, jer (koliko sam ja kao pocetnik shvatio) Timer funkcija ima rezoluciju od 1 s, a Timer kontrola 1 ms. A i prilikom koriscenja Timer funkcije moze da dodje do problema ako se petlja izvrsava na prelazu izmedju dva dana, jer ona vraca broj sekundi proteklih od ponoci. Znam da je verovatnoca mala za tako nesto, ali bih zeleo da izbegnem svaku mogucu komplikaciju.
Hvala svima na odgovorima, i ocekujte jos pitanja uskoro :).

Pozdrav.
Sinisha

 
Odgovor na temu

jc denton

Član broj: 2358
Poruke: 1705
195.252.103.*



Profil

icon Re: tajmer nece da se aktivira16.10.2002. u 01:03 - pre 261 meseci
Ovo sto ti je Krsta naveo nije za dzabe receno, pogledaj temu :
http://www.elitesecurity.org/tema/7128

A to da Timer funkcija vraca sekunde je tacno, ali postoji i jedna sitnica - to ne mora da bude ceo broj. Vidi se da nisi ni pokusao da isprobas :)

Znaci, rezultat moze da bude i ovakav :
timer - vreme = .005
odnosno 5 ms.

Timer kontrola u nekim slucajevima jednostavno ne moze da postigne preciznost - timer event ne okida kada treba. Probaj i uverices se i sam. Jedino pravo resenje je Timer funkcija ili potrazi na netu recimo 'using multimedia timers in visual basic' ili sl.

pozdrav
fire, walk with me
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
..ndg-pm4-1.dialup.nethere.net



+6 Profil

icon Re: tajmer nece da se aktivira16.10.2002. u 03:10 - pre 261 meseci
Timer kontrola "ispod haube" koristi tzv User-mode timer koji se startuje API funkcijom SetTimer. Taj tajmer u pravilnim vremenskim intervalima postuje poruku WM_TIMER u message queue forme na kojoj je kontrola. E sad, kad će ta poruka biti primljena i obrađena je veliko pitanje, tim pre što je WM_TIMER poruka sa najnižim prioritetom. Zato su ovakvi tajmeri u principu nepogodni kada je potrebna velika preciznost. Dobra strana user-mode tajmera je ta da se sve izvršava u jednoj niti (thread-u) što itekako čini programerov život lakšim.

Koga interesuju tajmeri pod Windows-om, a razume se pomalo u API funkcije, može da pročita članak koji sam svojevremeno napisao za CodeProject.

http://www.codeproject.com/system/timers_intro.asp
 
Odgovor na temu

jc denton

Član broj: 2358
Poruke: 1705
195.252.103.*



Profil

icon Re: tajmer nece da se aktivira17.10.2002. u 00:34 - pre 261 meseci
DT, tekst je veoma kvalitetan. Bavio sam se multimedia tajmerima, ali, posteno, nisam znao da ima ovoliko vrsta tajmera :)

Interesuje me gde bi mogao malo vise da procitam o user mode i kernel mode stvarima. O cemu se tu zapravo radi ?

pozdrav
fire, walk with me
 
Odgovor na temu

Krsta
Krstić Dejan
Programer & Web Developer
Kruševac

Član broj: 2461
Poruke: 307
*.ptt.yu

Sajt: www.atec.rs


+15 Profil

icon Re: tajmer nece da se aktivira17.10.2002. u 00:59 - pre 261 meseci
Ovde ima lepih stvari, jos samo da se isproba brzina...
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
..g-c5300-2.dialup.nethere.net



+6 Profil

icon Re: tajmer nece da se aktivira17.10.2002. u 03:34 - pre 261 meseci
Citat:
jc denton:

Interesuje me gde bi mogao malo vise da procitam o user mode i kernel mode stvarima. O cemu se tu zapravo radi ?

pozdrav


Pa, radi se zapravo o arhitekturi NT sistema. Programi rade ili u user modu (praktično sve aplikacije) ili u kernel modu (drajveri i drugi sistemski programi). User-mode kod ima daleko manje privilegija nego kernel-mode kod.

O tome možeš dosta da nađeš ovde:

http://www.winntmag.com/Articl...m?IssueID=26&ArticleID=301
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
*.ptt.yu



+321 Profil

icon Re: tajmer nece da se aktivira17.10.2002. u 21:05 - pre 261 meseci
Citat:
jc denton:
Ovo sto ti je Krsta naveo nije za dzabe receno


Nisam to ni mislio, jednostavno sam hteo da kazem da u ovom slucaju to ne funkcionise.

Citat:
jc denton:
A to da Timer funkcija vraca sekunde je tacno, ali postoji i jedna sitnica - to ne mora da bude ceo broj. Vidi se da nisi ni pokusao da isprobas :)


Nisam, necu da lazem :), jer jednostavno nemam vremena za neko studiozno proucavanje VB-a. A u helpu za Timer funkciju pise da vraca sekunde, ali sam prevideo prvi deo koji lepo kaze: "returns a single", pa je sasvim jasno da moze i delove sekunde.

Citat:
jc denton:
Timer kontrola u nekim slucajevima jednostavno ne moze da postigne preciznost


OK, ali u ovom slucaju mi nije potrebna preciznost, bitno mi je samo da imam nacin da izadjem iz petlje ako se hardver ne odazove neko vreme.
Hvala jos jednom svima, a za par dana ide novo pitanje :).

Pozdrav.
Sinisha
 
Odgovor na temu

[es] :: Visual Basic 6 :: tajmer nece da se aktivira

[ Pregleda: 5903 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.