Get access to over 100 FireMonkey cross platform samples for Android, IOS, OSX, Windows, and Linux!

AndroidAppmethodComponentDelphiFiremonkeyIOSOSXWindows

Load And Save Form State Automatically In Delphi XE7 Firemonkey On Android And IOS

| Delphi 11 10 XE8 XE7 XE Seattle Berlin Tokyo Rio Firemonkey Delphi Android Delphi IOS

Delphi XE7 Firemonkey Save Load Restore Form State Android IOS | Delphi 11 10 XE8 XE7 XE Seattle Berlin Tokyo Rio Firemonkey Delphi Android Delphi IOSDeveloper Daniele Spinetti has released a new TForm class helper which loads and saves the state of the form in Delphi XE7 Firemonkey. One of the new features in XE7 on Android is a OnSaveState event which is occurs when a form is about to go to the background on mobile or be closed on the desktop. Daniele’s helper class adds a load and save serialization function for TForm and it’s child objects. Basically what this means is if the user entered a bunch of information on your form and then received a phone call on your mobile device it could save the state of all that entered information automatically. When the user comes back to the app it will load up that state information again and it will be like they never left. The information gets serialized and saved in JSON format. You can simply include the unit in your uses clause and then call the load and save functions. The helper class should work on Android, IOS, Windows, and OSX plus in Appmethod. Here is an example of the usage:
uses SaveStateHelper;

procedure TForm1.FormCreate(Sender: TObject);
begin
LoadFormState;
end;

procedure TForm1.FormSaveState(Sender: TObject);
begin
SaveFormState;
end;

And here is a sample from the source code of the different field types that it saves:
case FMXObj.Data.Kind of
tkInteger:
FMXJObj.AddPair(DATA_FIELD,
TJSONNumber.Create(FMXObj.Data.AsInteger));
tkEnumeration:
if FMXObj.Data.AsBoolean then
FMXJObj.AddPair(DATA_FIELD, TJSONTrue.Create)
else
FMXJObj.AddPair(DATA_FIELD, TJSONFalse.Create);
tkFloat:
FMXJObj.AddPair(DATA_FIELD,
TJSONNumber.Create(FMXObj.Data.AsExtended));
tkString, tkUString, tkLString, tkWString:
FMXJObj.AddPair(DATA_FIELD, FMXObj.Data.AsString);
tkInt64:
FMXJObj.AddPair(DATA_FIELD,
TJSONNumber.Create(FMXObj.Data.AsInt64));

Head over and download the free helper class for automatically saving form state in Delphi XE7 Firemonkey.

Mirror: You can also download the helper class archive here.

Have Delphi Firemonkey questions? Ask and get answers on StackOverflow.

Related posts
DelphiDemoFiremonkeyLinuxOSXShowcaseWindows

AutoBlogAI: FireMonkey Client To Leverage LLMs And Generative AI For Blogging

DelphiFiremonkeyShowcaseUtilityWindows

Unleashing Creativity With Song Writer AI: A Deep Dive

DelphiFiremonkeyShowcaseWindows

How To Build Stable Diffusion Text To Image Prompts

AndroidC++BuilderDelphiFiremonkeyIOSOSXWindows

FireMonkey 10.4.2 Features Updated iOS 14, Android 11, And macOS 11 Support Plus Hundreds Of Fixes

Sign up for our Newsletter and
stay informed

Leave a Reply