Hallo,
da ich jetzt gerade dabei bin, für meine App eine Oberfläche mit der iCL zu basteln, aber ich trotzdem noch Android unterstützen will, ist mir folgendes eingefallen:
Im Root-Verzeichnis des Projekts liegen die unteren 2 Schichten (Steuerung und Datenerhaltungschicht). In einem weiteren Verzeichnis
GUI befinden sich zwei Ordner namens
FMX und
iOS. Je nach dem, welche Platform ausgewähl wurde, soll der Compiler sich die richtige Oberfläche suchen.
Das sieht im endeffekt so aus:
Delphi-Quellcode:
program Test;
uses
System.StartUpCopy,
FMX.Forms,
{$IFDEF IOS}
U_MainiOS
in '
GUI\iOS\U_MainiOS.pas'
{F_MainiOS},
{$ENDIF }
{$IFDEF ANDROID}
U_MainFMX
in '
GUI\FMX\U_MainFMX.pas'
{F_MainFMX},
{$ENDIF }
{$IFDEF MSWINDOWS}
U_MainFMX
in '
GUI\FMX\U_MainFMX.pas'
{F_MainFMX},
{$ENDIF }
MyData
in '
MyData.pas',
MyControl
in '
MyControl.pas',
Basics
in '
Basics.pas';
{$R *.res}
begin
Application.Initialize;
Application.FormFactor.Orientations := [TFormOrientation.soInvertedLandscape];
{$IFDEF IOS}
Application.CreateForm(TF_MainiOS, F_MainiOS);
{$ENDIF }
{$IFDEF ANDROID}
Application.CreateForm(TF_MainFMX, F_MainFMX);
{$ENDIF }
{$IFDEF MSWINDOWS}
Application.CreateForm(TF_MainFMX, F_MainFMX);
{$ENDIF }
Application.Run;
end.
Ich finde die Idee klasse, nur hapert es noch an der Umsetzung.
Unter iOS funtkioniert es, unter Windows und Android läd es keine Obefläche.
Weiß jemand, woran das liegt?
Viele Grüße
Croco
EDIT: Hab mich geirrt
. Hab mal alle generierten Dateien gelöscht und schwups hat es funktioniert.