![]() |
Re: Probleme mit Timer und sleep
besten Dank, hab gerade mal das Delay von negaH eingebaut. läuft alles bestens.
da ich in meiner Prozedur gelegentlich "zu lange" brauch werd ich wohl am anfang den Timer abschalten. kann ich einfluß drauf nehmen, wie weit der Timer fortgeschritten ist, wenn ich ihn anschalte? Sprich bei einem interval von 100ms würd ich ihn beim anschalten gerne dazu bringen, dass er "denkt", er hätte gerade schon bis 99ms hochgezählt. das läßt sich sonst ja über ändern des Intervals handhaben, aber vielleicht geht es auch direkter. wenn nicht, ist auch nicht so wild, muß mal schauen, ob ich das noch mit einbaue. |
Re: Probleme mit Timer und sleep
wenn Du den Timer enables startet er bei 0
macht auch sonst wenig Sinn, oder? Grüße Klaus |
Re: Probleme mit Timer und sleep
Beeinflussen kannst du das nicht ... du könntest Höchstens das Intervall ändern, also statt bei 100 schon mit 1 starten
Delphi-Quellcode:
Begin
Timer.Enabled := False; Timer.Intervall := 100; ... Timer.Intervall := irgendwas; Timer.Enabled := True; End; kannst ja die Zeit messen, die deine Prozedur gebraucht hat und diese dann abziehen. (Min(..., 1) ist dafür da, damit mindestens 1ms Dauer rauskommt und vorallem nichts negatieves)
Delphi-Quellcode:
Var Start: Integer;
Begin Timer.Enabled := False; Timer.Intervall := 100; Start := GetTickCount; ... // Dauer = GetTickCount - Start Timer.Intervall := Min(100 - (GetTickCount - Start), 1); Timer.Enabled := True; End; |
Re: Probleme mit Timer und sleep
Hallo Klaus,
sinn kann das schon machen: onTimer braucht nahezu keine zeit, wenn der sensor nicht ausgelesen wird, sonst so ca 300ms. der timer soll aber mit 100ms laufen. also wär es ja sinnvoll, nach dem auslesen eines sensors die prozedur onTimer wieder aufzurufen. das ist sicherlich möglich über eine an sonsten ungenutzte boolvariable (if sensor_wurde_ausgelesen then onTimer else timer1.enabled=true) oder eben den internen zähler, sofern es sowas gibt, hochzusetzen. ich hab wohl in letzter Zeit zu viel mit Mikrocontroller Programmierung verbracht, hab mir über das ganze assemblieren die hochsprachen abgewöhnt. wird dringend zeit, was dagegen zu unternehmen... @himitsu an den umweg übers interval hab ich auch schon gedacht. mal schauen, ob ich das als hübsch empfinde, sonst sind es ja auch nur 100ms, die man zusätzlich warten muß... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz