Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Umgang mit Formularen in den mobilen Anwendungen (https://www.delphipraxis.net/186458-umgang-mit-formularen-den-mobilen-anwendungen.html)

xedrei 3. Sep 2015 22:19

Umgang mit Formularen in den mobilen Anwendungen
 
Hallo zusammen,

ich möchte gerne eine Android-App in Delphi XE8 erstellen. Das soll auch meine erste App sein. Bisher habe ich nur die ganz normalen Desktop-Applikationen entwickelt.

Wie geht Ihr mit den Formularen um?

1. Modalfenster

Ich habe mir mehrere Beiträge diesbezüglich angeschaut. Letztendlich möchte ich so einen Konstrukt (siehe http://blog.marcocantu.com/blog/xe5_....wTOCeip6.dpuf) benutzen:

Delphi-Quellcode:
procedure BearbeiteUserDaten;
var
  myForm: TMyForm;
begin
  myForm := TMyForm.Create(nil);
  myForm.SetValuesOnForm(...);
  myForm.ShowModal(
    procedure(ModalResult: TModalResult)
    begin
      SomeUserData := myForm.GetValuesOnForm(...);
      ...
      // Hier die Userdaten z.B. in die eingebetette SQLite-Datenbank speichern
      ...
      myForm.Free;
    end;
  );
end;
Macht Ihr das genau so in Euren Apps? Ist das ein guter Ansatz?

2. TMultiView + TListBox + <unterschiedliche Formulare anzeigen>

Ich möchte eine banale Navigation in meiner App haben. Von links aus ein Hauptmenü aufklappen und da in der ListBox einen Menüeintrag anklicken. Dabei soll ein Formular angezeigt werden, d.h. für jeden Menüeintrag gibt es ein eigenes Formular. Dabei soll es oben in der App das ToolBar geben mit einem linken Button, der immer der MasterButton ist.

Was ist der gute Ansatz, um so was zu machen? Wie macht Ihr das? Hat evtl. jemand einen Beispielcode?

Zu welchem Zeitpunkt und an welcher Stelle in so einer App ist es am besten die Formulare zu erstellen und freizugeben?

Soll man bei den Formularen explizit free aufrufen, oder werden diese durch ARC freigegeben?


Vielen Dank für Eure Hilfe!

Rollo62 4. Sep 2015 10:11

AW: Umgang mit Formularen in den mobilen Anwendungen
 
Ich mache es ähnlich, aber nicht mit ShowModal.
Ich habe eine Hauptseite mit TabControl, die dann Unterformulare aufruft, und
die jeweiligen TabItems überträgt.
Meine Forms verhalten sind dann quasi wie Frames in den TabItems des Hauptfensters.
Kommunikation zw. Haupt- und Unterforms mache ich über Messages.

Ich würde gerne die Forms einfach einmal erzeugen und im Speicher lassen,
da hatte ich aber schonmal Probleme mit Out-Of-Memory.

Deshalb mache ich diese Views ähnlich:
1. Create
2. Show
3. Free (wenn die Seite zurück geht)

Der Nachteil ist aber das man schon merkbare Verzögerungen hat, weil die Seiten immer erst erzeugt werden.
Wenn es bessere Lösung gibt die Speed bringt & Out-Of-Memory vermeidet bin ich dabei :-)

Rollo


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz