Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#1

Compiler-Defines ?

  Alt 27. Feb 2015, 18:09
Delphi-Version: XE7
Moin moin,

hat zufällig jemand mit XE7 und iOS/Max/Android 'nen Sekündchen Zeit?
Es geht einfach nur im die Verifizierung der DEFINES/Features der Compiler.

So müsste es z.B. irgendwo das BIGENDIAN-Define geben (aber vielleicht kommt das ja auch erst mit Linux, WinRT, Blackberry, Windows Mobile 7, ...)

Laut den wenigen Informationen/Beschreibungen hätte ich gedacht, daß WEAKREF, WEAKINSTREF (Objekte), WEAKINTREF (Interfaces) überall gleich sind.
Aber schon im NextGen-Compiler für Android gibt es erschreckender Weise kein WEAKINTREF.
Wobei man das WEAKINTREF eigentlich hätte überall einbauen sollen.

Bin ich zu doof, oder gibt es wirklich kein MacOS-Define? (OS X)
MACOS scheint ja bei OS X und iOS definiert zu sein. Oder wie soll man da zwischen Mobil und Desktop unterscheiden können?

Wenn iOS-Sim kein NEXTGEN ist, dann würde mich interessieren, wie man z.B. 0-based-Strings erkennt. Oder soll man da wirklich immer Low(String) auswerten?


Einfach den Code in eine Geräteübergreifende Anwendung einfügen, eine Plattform auswählen,
kompilieren und überall, wo blaue (Halte)Punke erscheinen, hinten 'nen Sternchen/Icks rein.
Alternativ vor jedes Beep ein * und ein * hinter Alles (damit man nicht stundenlang warten muß, bis es mit Linken fertig ist),
dann kompileren und wo es knallt, die * löschen ... wo am Ende kein Stern mehr ist, hinten den Stern eintragen.

Code:
procedure TForm3.FormCreate(Sender: TObject);
begin
                                                // Win32 Win64 Android iOS-Dev iOS-Sim OSX
  {$IFDEF BIGENDIAN}            Beep; {$ENDIF}  //                     -       -       -

  {$IFDEF CONSOLE}              Beep; {$ENDIF}  // ?     ?             -       -       -
  {$IFDEF MSWINDOWS}            Beep; {$ENDIF}  // *     *             -       -       -
  {$IFDEF WIN32}                Beep; {$ENDIF}  // *                   -       -       -
  {$IFDEF WIN64}                Beep; {$ENDIF}  //       *             -       -       -
  {$IFDEF MACOS}                Beep; {$ENDIF}  //                     .       .       .
  {$IFDEF MACOS32}              Beep; {$ENDIF}  //                     .       .       .
  {$IFDEF IOS}                  Beep; {$ENDIF}  //                     .       .       -
  {$IFDEF ANDROID}              Beep; {$ENDIF}  //             *       -       -       -
  {$IFDEF LINUX}                Beep; {$ENDIF}  //                     -       -       -
  {$IFDEF LINUX32}              Beep; {$ENDIF}  //                     -       -       -
  {$IFDEF POSIX}                Beep; {$ENDIF}  //             *       .       .       .
  {$IFDEF POSIX32}              Beep; {$ENDIF}  //             *       .       .       .

  {$IFDEF CPUX86}               Beep; {$ENDIF}  // *                   -       .       .
  {$IFDEF CPUX64}               Beep; {$ENDIF}  //       *             -       -       -
  {$IFDEF CPUARM}               Beep; {$ENDIF}  //             *       .       -       -

  {$IFDEF ASSEMBLER}            Beep; {$ENDIF}  // *     *             -       .       -
  {$IFDEF AUTOREFCOUNT}         Beep; {$ENDIF}  //             *       .       .       -
  {$IFDEF NEXTGEN}              Beep; {$ENDIF}  //             *       .       .       -
  {$IFDEF PC_MAPPED_EXCEPTIONS} Beep; {$ENDIF}  //                     -       .       .
  {$IFDEF UNDERSCOREIMPORTNAME} Beep; {$ENDIF}  // *                   -       .       .
  {$IFDEF WEAKREF}              Beep; {$ENDIF}  //             *       .       .       -
  {$IFDEF WEAKINSTREF}          Beep; {$ENDIF}  //             *       .       .       -
  {$IFDEF WEAKINTREF}           Beep; {$ENDIF}  //                     .       .       -

end;
(ja, das sind keine Delphi-Tags, der dann immer die schönen Leerzeichen geschrottet werden)
$2B or not $2B

Geändert von himitsu (27. Feb 2015 um 18:19 Uhr)
  Mit Zitat antworten Zitat