Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   FMX Android Formular aktualisieren (https://www.delphipraxis.net/211982-fmx-android-formular-aktualisieren.html)

skoschke 28. Nov 2022 15:29

FMX Android Formular aktualisieren
 
Hallo,

auf einem Formular liegt ein TImage, welches ein großes Bitmap anzeigt.
Eine Zeichenfunktion für das Bitmap kann schon mal 2 sec benötigen, daher habe ich am Anfang der Zeichenroutine ein Leeren des Bitmaps (alles weiß) und Zuweisung an das TImage gemacht, dann folgt der neue Aufbau des Bitmaps und dann dessen Zuweisung an das Image.

So sieht es nun im Ablauf aus:
- Image zeigt ein Bild an
- Start Zeichnen
- Image soll nun das leere "Zwischenbild" anzeigen, was aber nicht geschieht, das alte Bild bleibt
- nach 2 sec wird das neue Bild angezeigt

Für das "Zwischenbild" habe ich alles mögliche an Refresh, Repaint etc. probiert, erst nach Ablauf der Zeichenroutine wird das alte Bild durch das neue ersetzt.

Irgendwie muss das doch zu aktualisieren sein, doch wir?

Ciao
Stefan

TurboMagic 28. Nov 2022 19:26

AW: FMX Android Formular aktualisieren
 
Hallo,

passiert dein Zeichnen auf die andere Bitmap auch im GUI Thread?
Falls ja blockierst du den damit, so dass der nicht zum Aktualisieren
kommt.

Falls das noch so ist evtl. mal zum Prüfen das Auslösen des Zeichnens
in einen Timer packen um es erst kurz nach dem Auslösen der Aktualisierung
mit dem Zwischenbild auszuführen.

Grüße
TurboMagic

skoschke 29. Nov 2022 08:57

AW: FMX Android Formular aktualisieren
 
Danke für den Tip!

Ja, alles läuft im Hauptthread!
Werde ich gleich ausprobieren...

Ciao
Stefan

TurboMagic 29. Nov 2022 16:31

AW: FMX Android Formular aktualisieren
 
Und wie ist das Ergebnis des Versuchs?

skoschke 30. Nov 2022 09:00

AW: FMX Android Formular aktualisieren
 
Ein Timer brachte komischerweise nichts, mit 2 Buttons "Leeren" und "Zeichnen" wurde aktualisiert wie gewünscht.

Ich habe jetzt das gesamte Zeichnen der Grafik in einen Thread verpackt und jetzt funktioniert es wie gewünscht :-)

Ciao
Stefan

TurboMagic 30. Nov 2022 17:22

AW: FMX Android Formular aktualisieren
 
Schön, dass es klappt.
Die Frage wäre halt, was du in den Timer gelegt hast. Hoffentlich das, was so lange blockiert
um vorher dem GUI die Chance zum Update zu geben. Aber wenn's mit Thread geht auch gut.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:01 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