AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung TTimer unzuverlässig auf neueren Iphones
Thema durchsuchen
Ansicht
Themen-Optionen

TTimer unzuverlässig auf neueren Iphones

Ein Thema von AuronTLG · begonnen am 9. Mär 2021 · letzter Beitrag vom 9. Mär 2021
 
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
321 Beiträge
 
Delphi 12 Athens
 
#1

TTimer unzuverlässig auf neueren Iphones

  Alt 9. Mär 2021, 10:11
Hallo,

ich habe ein seltsames Problem mit Timern auf neueren Iphones bei einer einfachen manuellen Popup-Konstruktion:
Eine Listbox hat ein Mousedown-Ereignis, was einen 500ms-Timer startet, sowie ein MouseUp-Ereignis, was ihn stoppt.
Geht der Timer durch, so wird ein Kontextmenü sichtbar gemacht, kommt das MouseUp vorher, wird der Timer gestoppt und das Ganze als Klick gewertet.

Das Problem ist, dass auf neueren Iphones (11er und 12er Reihe) der Zeitabstand zwischen Drücken und Erscheinen des Kontextmenüs unregelmäßig ist.
Manchmal erscheint es exakt nach 0,5 Sekunden, manchmal erst nach 5 Sekunden.

Kurios ist folgendes: Logge ich MouseDown und das Ende der OnTimer-Methode, so zeigt das Log jedes einzelne Mal einen Zeitabstand von 500 + 10-20 ms zwischen den beiden Punkten, obwohl des Erscheinen des Kontextmenüs teilweise deutlich länger gedauert hat.
Setze ich im OnTimer an diesselbe Stelle wie den Logeintrag eine einfache optische Änderung, so wie etwa das Ändern des Textes einer Schaltfläche, so erfolgt diese zeitgleich mit dem Anzeigen des Kontextmenüs, während das Log wie gehabt die korrekte Zeit anzeigt.

Auf nem Iphone X oder älteren Geräten funktioniert das Ganze ziemlich zuverlässig.
Kompiliert auf Delphi 10.4.1 mit einer 14.3 SDK.

Ich würde mal vermuten, dass das entweder ein optisches Aktualisierungsproblem oder ein Thread-Problem ist.

Hat irgendwer hier auch vergleichbare Timer-Probleme? Ansonsten wäre für mich auch eine alternative Konstruktion eine Lösung, mit der ich den Timer ersetzen könnte, den ich als Komponente sowieso nicht sonderlich mag. Vielleicht einen anonymen Thread mit Wait oder sowas... Hat jemand sich jemand vielleicht schonmal damit auseinandergesetzt?
  Mit Zitat antworten Zitat
 


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 21:50 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