AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Apps mit timer im Hintergrund lauft nicht korrekt.
Thema durchsuchen
Ansicht
Themen-Optionen

Apps mit timer im Hintergrund lauft nicht korrekt.

Ein Thema von Anakond · begonnen am 24. Jun 2019 · letzter Beitrag vom 16. Sep 2019
Antwort Antwort
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
724 Beiträge
 
Delphi 12 Athens
 
#1

AW: Apps mit timer im Hintergrund lauft nicht korrekt.

  Alt 13. Sep 2019, 16:38
Guten Morgen,

Ich benutze Firemonkey 10.2 und erfasse die Sensordaten (MotionSensor1.Sensor.AccelerationX)
in einem Zeitintervall, um die Daten zu Analysieren, um die später auf dem Ändroid Smartphone
Bildschirm anzeigen zu lassen.

Mein Problem ist, wenn der Benutzer das Gerät am USB-Kabel angeschlossen lässt
funktioniert alles einwandfrei.

Wenn das Gerät jedoch für eine Weile vom Stromnetz getrennt wird und der Bildschirm ausgeschaltet,
das Gerät wechselt in den Schlafmodus!

Dies schränkt den Zugriff auf die Anwendung ein und die abgelaufene Zeit ist nicht mehr korrekt.

Wie kann ich dieses Problem beheben?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
   FDateTimeTo := now;
   iSecToken := 0;
   Timer1.Interval := 1000 ;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
 h, m, s : integer;
begin
      inc( iSecToken );

      h := iSecToken div 3600 ;
      m := iSecToken mod 3600 div 60 ;
      s := iSecToken mod 3600 mod 60 ;

      if s <> sOld :=
      begin
         sOld := s;
         AccX := MotionSensor1.Sensor.AccelerationX;
      end;

      if m <> mOld :=
      begin
         mOld := m;
         DrawAccX;
      end;

     Label1.text := Format('%2d:%2.2d:%2.2d', [h, m, s]);

end;

Es wäre gut die Daten jede Sekunde oder alle 10 Sekunden zu erfassen,
aber wenn nicht, ich würde auch ein Intervall von je Minute akzeptieren.

Welche Beispiel können Sie mir vorschlagen,
sehr vielen Dank für Ihre Hilfe.
Timer sind nicht dafür geeignet, einen Zeitraum exakt zu tracken, wie Du das versuchst. Es ist nie garantiert, das der Timer auch immer exakt in den Intervall-Abständen "tickt". Hol Dir einfach im OnTimer-Event die aktuelle Zeit vom OS anstelle die Ticxks zu zählen.
Peter Below
  Mit Zitat antworten Zitat
Anakond

Registriert seit: 13. Okt 2007
23 Beiträge
 
#2

AW: Apps mit timer im Hintergrund lauft nicht korrekt.

  Alt 16. Sep 2019, 08:34
Der Zeitraum muss nicht exakt sein, also es kann eine Zeitverzögerung von 1 oder 10 Sekunden haben.
Das Problem ist eigentlich, dass die Apps im Schlafmodus geht und der Timer antwortet nicht zeitweise 5 bis 10 Minuten.

Danke für weitere Vorschläge.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 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