![]() |
FMX & Application Events?
Hallo Zusammen!
Ich habe bisher die Application Events sagen wir mal Ignoriert. Aber es gibt ja die möglich auf Background usw. zu reagieren. Genauso den Status der App zu speichern, damit der User wieder an der gleichen stelle ist, wenn er sie wieder startet... Welche "Dinge" macht Ihr in diesen Events? Mavarik |
AW: FMX & Application Events?
Zitat:
Delphi-Quellcode:
und etwa im OnCreate oder dgl. kann man das Zeugs wieder lesen:
procedure Tfrm_Main.FormSaveState(Sender: TObject);
var W: TBinaryWriter; begin SaveState.Stream.Clear; W := TBinaryWriter.Create(SaveState.Stream); try W.Write(Edit1.Text); W.Write(Edit2.Text); finally W.Free; end; end;
Delphi-Quellcode:
procedure Tfrm_Main.FormCreate(Sender: TObject);
var R: TBinaryReader; begin SaveState.StoragePath := 'C:\Temp\'; //optional! if SaveState.Stream.Size > 0 then begin R := TBinaryReader.Create(SaveState.Stream); try Edit1.Text := R.ReadString; Edit2.Text := R.ReadString; finally R.Free; end; end; end; |
AW: FMX & Application Events?
Zitat:
Oder wird der SaveState nur aufgerufen wenn die App das beendet... Was ist mit den Background Geschichten? Hast Du Dir da eine System.Message geschrieben wo alle relevanten "jungs" drauf hören? - Thread beenden Timer stoppen usw.? - Und wenn wie wieder an der richtige Stelle starten? Kommt natürlich alles auf die App an... Mavarik |
AW: FMX & Application Events?
ich meine bei den emba blog mal was genau zu diesen Thema gelesen zu haben, auch der code , suche einfach mal dort zu diesem Ereignis, das Daniel hier geschrieben hat....
|
AW: FMX & Application Events?
Zitat:
Gefühlt geht es bei mir fast immer, auch wenn nicht immer, vor allem nicht, wenn die App abstürzt oder "hart" abgeschossen wird .... aber für Letzteres muß man ja erst raus (wenn Terminate innerhalb des Android, nicht via Debugger), womit dort bereits gespeichert werden sollte. Jedenfalls kann man scheinbar OnSaveState auch nutzen, um woanders zu speichern, anstatt im SaveState. (Achtung, wenn in Cloud und das zu lange dauert, dann kann die "Hintergrund"-App bereits pausiert/beendet sein, bevor es fertig wird) Was zum Testen: ![]() |
AW: FMX & Application Events?
Der Thread ist 10 Jahre alt.
|
AW: FMX & Application Events?
Und leider immernoch aktuell. :cry:
Wollte nur mal schnell, so RAD-mäßig, eine kleine App basteln, aber durfte mich das ganze Wochenende dann auch mit diesem Scheiß rumärgern (und zwei anderen zugehörigen Dingen). Wo es hier auch nur etwa 3-4 Threads gibt, welche das Thema betreffen und die alle nicht abschließend geklärt waren/sind. |
AW: FMX & Application Events?
Zitat:
Zitat:
Und ich benutze die Funktion bis heute nicht. Mavarik :coder: |
AW: FMX & Application Events?
Bin grade bissl am Probieren, was wo am besten/einfachsten gespeichert werden kann.
Per se ist diese Funktion nicht schlimm, aber den Binärstream finde ich schon bissl ungünstig. Felder/Variablen hinzufügen/ändern/löschen und schon knallt es. Da müsste man dann wieder anfangen wie beim DFM-Reader, also auch noch den Namen und Typ mit abspeichern. Oder immer nur hinzufügen und nie löschen (also auch immer Dummy-Felder für Altes/Geändertes/Gelöschtes weiterhin speichern/lesen) Und auf Windows/OSX/Linux (nicht Android/iOS) muß man auch aufpassen keine FormNamen doppelt zu haben. (bei eigenen und Fremd-DelphiApps) Ob man da jetzt auch z.B. einfach einen JSON-Stream nehmen könnte, oder ob es unbedingt dieses binäre sein muß .... hmmmmmmmmmmmm? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:04 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