Timer a procedura

Odpowiedz Nowy wątek
kochzg
2005-01-18 09:47
kochzg
0

Mam procedure ktora kilkanaście razy wywoływana jest przez Timer. Uruchomianie zaczynam od ustawienia Enable:=True zas Interval ustawiony jest na 1 ms. Procedura ktora jest wywałana zapisuje pewne dane do tablicy (nie jest ona duza). Myslalem ze tym sposobem procedura ta bedzie wykonywana w rownych odstepach czasowy. Jednak nie zawsze tak odbywa sie.

Gdzie popełniam błąd ????

Kochzg

Pozostało 580 znaków

2005-01-18 09:57

Rejestracja: 15 lat temu

Ostatnio: 11 lat temu

0

to Timer nie jest zbyt dokładny, a moze po psrostu nie daje sobie rady z tym zapisywaniem.
Możesz zawsze użyć nowego wątku i tam zrobic sobie timerka


Pozostało 580 znaków

2005-01-18 10:41
Moderator

Rejestracja: 17 lat temu

Ostatnio: 1 godzina temu

0

ewentualnie DxTimer z pakietu DelphiX, albo poszukaj na forum bo o niedokładności Timera było już sporo napisane.

Pozostało 580 znaków

2005-01-18 11:17

Rejestracja: 15 lat temu

Ostatnio: 2 lata temu

0

albo sciągnij sobie z www.torry.net TThreadTimer i git :]
btw: po co to napisałeś też temat w "Nietuzinkowe tematy" [???]


Sun Certificated Java Programmer 6

Pozostało 580 znaków

kochzg
2005-01-18 11:31
kochzg
0

Nie chodzi mi oto czy ona bedzie wykonywana z dokładnościa 1 ms czy 1.1ms.
Powinna ona byc wywoływana w miare równo cykliczne. Zdarza sie ze najpierw ona wywołuje sie kilka razy szybko a potem czas wywołania spada (bywa ze znowu potrafi przyspieszyc).

zdrowka
Zbych

Pozostało 580 znaków

2005-01-18 13:40

Rejestracja: 15 lat temu

Ostatnio: 2 lata temu

0

NO to może zależeć od tego co INNEGO w danym czasie program robi tudzież od wolnego miejsca w pamięci, zajęcia procesora przez inne procesy ( bo chyba na kompie nie jest właczona tylko Towja aplikacja :> ). Tak wiec na to składa sie wiele czynników ;)


Sun Certificated Java Programmer 6

Pozostało 580 znaków

2005-01-18 14:08

Rejestracja: 17 lat temu

Ostatnio: 2 lata temu

0

Może dodatkowo posłuż się

GetTickCount

?

Pozostało 580 znaków

2005-01-18 21:24

Rejestracja: 15 lat temu

Ostatnio: 3 miesiące temu

0

Praktycznie niemożliwe jest, żeby Twoja procedura wykonywała się w różnych odstępach czasu, w stosunku do czasu rzeczywistego. Jak wyżej wspomniano, nie tylko twój program jest uruchomiony w systemie.
Musiała by być to aplikacja napisana dla systemu czasu rzeczywistego (nie windows) :)
Pozdrawiam
GP

Pozostało 580 znaków

ŁF
2005-01-18 23:28
ŁF
Moderator

Rejestracja: 17 lat temu

Ostatnio: 1 dzień temu

0

zrób nowy wątek, w wątku pętla, w pętli sleep i jakieś inne operacje.


Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0