Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by philipp.hofmann,
31. Okt 2019
War wie gesagt ("das ist bei mir okay") eine bewusste Entscheidung. Mit ein paar Zeilen zusätzlichen Code würde ich es threadsafe bekommen, aber da sich die Anzeige eh alle 500ms ändert, kann ich auf einige Updates dort auch verzichten, dafür laufen die Videos in der Anzeige flüssiger. Da muss man aber die jeweilige Anwendung genauer kennen, um zu wissen, ob dies geht oder nicht.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by philipp.hofmann,
30. Okt 2019
Sowohl beim Auslesen als auch beim Hinzufügen/Updaten von Einträgen gibt es ein try/catch, damit Fehler gefangen werden und in dem Fall bleibt dann mal ein Update der UI-Info aus. Das ist bei mir okay und spart Synchronisierungen.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by philipp.hofmann,
30. Okt 2019
Ja, so war es mit dem Timer gemeint. Ich prüfe alle x Millisekunden, ob ich die Zeit, welche ich über NOW vergleiche, hochzählen muss. Und prüfe dann parallel, ob es sonst noch was in meiner Anwendung zu tun gibt (und das ist reichlich: UI-Updates, aktuell abgespieltes Musik/Video anpassen, …). Und drum herum passiert einiges in Threads.
Und meine Queue ist eine einfache TObjectList oder ein...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by philipp.hofmann,
30. Okt 2019
In meiner Anwendung läuft eine Uhr mit, daher habe ich eh einen Timer am Laufen und dieser updated bei Bedarf dann auch weitere Elemente der Anzeige. Wenn man so etwas wie diese Uhr nicht hat, mag der Timer ineffektiv sein. So ist es die einfachste und übersichtlichste Lösung.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by philipp.hofmann,
29. Okt 2019
Ich starte die Verarbeitung in einem Thread und habe in der UI einen Timer, der alle x ms prüft, ob in der Queue für UI-Updates etwas drinnen steht. Der Thread befüllt dann diese Queue.