![]() |
Delphi-Version: XE7
Compiler-Defines ?
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. :shock: 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:
(ja, das sind keine Delphi-Tags, der dann immer die schönen Leerzeichen geschrottet werden)
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; |
AW: Compiler-Defines ?
Mac OS:
MACOS, MACOS32, POSIX, POSIX32, CPUX86, ASSEMBLER, PC_MAPPED_EXCEPTIONS, UNDERSCOREIMPORTNAME iOS-Simulator: MACOS, MACOS32, IOS, POSIX, POSIX32, CPUX86, ASSEMBLER, AUTOREFCOUNT, NEXTGEN, PC_MAPPED_EXCEPTIONS, UNDERSCOREIMPORTNAME, WEAKREF, WEAKINSTREF iOS-Device (32bit) MACOS, MACOS32, IOS, POSIX, POSIX32, CPUARM, AUTOREFCOUNT, NEXTGEN, WEAKREF, WEAKINSTREF iOS-Device (64bit)* MACOS, IOS, POSIX, CPUARM, CPUARM64, CPU64BITS, AUTOREFCOUNT, NEXTGEN, WEAKREF, WEAKINSTREF *... vermutlich |
AW: Compiler-Defines ?
Zitat:
|
AW: Compiler-Defines ?
Danke :)
Delphi-Quellcode:
Gut, hätte ja sein können, das ginge einfacher.
{$ID Defined(MACOS) and not Defined(IOS)} = OSX
{$ID Defined(MACOS) and Defined(IOS)} = iOS {$ID Defined(MACOS) and Defined(IOS) and not Defined(CPUARM)} = iOS Simulator ... Das CPU war irgendwie aus meinem Blickwinkel und sonst sehen OSX und iOSSim ja gleich aus. :oops: Aber meine Vermutung bestätigt sich dann, denn WEAKINTREF gibt es wirklich nirgendwo, obwohl es das angeblich gibt. :cry: Wenn man hier jetzt auf die OH gehört hätte und treudoof überall nur WEAKREF prüft, der fällt schmerzhaft hin, da der Compiler auch nix sagt, wenn er das [Weak] einfach so ignoriert. |
AW: Compiler-Defines ?
Kann es sein, dass Du Dich verschrieben hast?
Dat Dingen heisst "WEAKINTFREF" und ist bei mir durchaus definiert (Nextgen-Compiler & iOS-Simulator) |
AW: Compiler-Defines ?
Die WEAK-Defines funktionieren allesamt wie beschrieben:
![]() |
AW: Compiler-Defines ?
Jupp, den Link kenn ich, aber da steht es ohne F :stupid:
Zitat:
Mit F geht es nun auch im Android. :) (fehlen nur noch die Nicht-NextGens) |
AW: Compiler-Defines ?
Ach, ein "F" mehr oder weniger. Vermutlich wird es sich um eine verlustbehaftete Datenkompression im Wiki handeln. ;-)
//edit: Ich sage denen mal bescheid. ;-) |
AW: Compiler-Defines ?
Bei iOSDev und iOSSim ist dann auch das WEAKINTFREF definiert? (auch wenn iOSDev wohl kein NextGen ist)
|
AW: Compiler-Defines ?
"WEAKINTFREF" ist für iOS-Geräte und den iOS-Simulator definiert.
Es ist ja ein Nextgen-Compiler (kann man ja mit "IFDEF NEXTGEN" prüfen, welches für beide definiert ist). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz