Einzelnen Beitrag anzeigen

Crocotronic

Registriert seit: 9. Mai 2013
258 Beiträge
 
#1

GUI abhänging vom Target auswählen

  Alt 9. Nov 2013, 13:52
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.

Geändert von Crocotronic ( 9. Nov 2013 um 14:11 Uhr)
  Mit Zitat antworten Zitat