Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Abfrage ob IOS Simulator ausgeführt wird (https://www.delphipraxis.net/211587-abfrage-ob-ios-simulator-ausgefuehrt-wird.html)

schaumermal 9. Okt 2022 17:02


Abfrage ob IOS Simulator ausgeführt wird
 
Hallo zusammen,

wie kann ich abfragen, ob die Anwendung in dem IOS Simulator (RAD Studio 11.2) ausgeführt wird?

Ich dachte dies geht mit:

{$IF DEFINED(IOS) AND DEFINED(CPUARM)}
IdSSLOpenSSLHeaders_Static,
{$ENDIF}

Jedoch wird auch bei dem IOS Simulator (ARM 64 Bit) die obige Unit mit eingebunden welche dort aber nicht zulässig ist.

himitsu 9. Okt 2022 18:07

AW: Abfrage ob IOS Simulator ausgeführt wird
 
Scheinbar gibt es nun einen iOS-Simulator der einen ARM simuliert
oder man nutzt dort was, dass darin nun ARM simuliert werden kann.

Außerdem war der Compiler des Simulators bisher für Intel 32 Bit ... nun ist er für ARM 64 Bit.

https://docwiki.embarcadero.com/RADS...ation_(Delphi) alt - noch mit DCCIOS32 (der Compiler für den Simulator)
https://docwiki.embarcadero.com/RADS...ation_(Delphi) neu - nur noch mit DCCIOSARM64


früher:
CPU386 oder CPUARM
bzw. oder CPUARM32 CPUARM64

Scheinbar jetzt kein Unterschied mehr.



[ADD]
Es gibt jetzt eine dcciossimarm64.exe, aber der steht in der Liste nicht drin.

PS: du darfst dann bald gern für meinen Feature-Request stimmen.
https://www.delphipraxis.net/211582-...ml#post1512968



Projekt-Optionen > Erzeugen > Delphi-Compiler : Bedingungen
für Ziel "Alle Konfigurationen - iOS-Simulator ..." etwas eintragen
und das kannst du dann im $IFnDEF benutzen.


[ADD2]
Da scheine ich wohl die aktuell einzig "richtige" Lösung gegeben zu haben,
wie eine Suche im Internet bestätigt. :angle:
https://stackoverflow.com/questions/...-in-delphi-xe6

Auch wenn man damals noch negativ dafür gestimmt hatte ... nun ist es aber die Lösung. :freak:

Also erstmal hier https://quality.embarcadero.com/browse/RSP-39702
und dann demnächst die Ausgaben der DEFINES, wenn die mal wieder was ändern.

Es gab früher noch andere Unterschiede.
Du kannst mal ausprobieren, ob die noch da sind.
IOS32 IOS64
CPU386 CPUX86 CPUX64 CPUARM32

ALIGN_STACK
ASSEMBLER
PC_MAPPED_EXCEPTIONS
UNDERSCOREIMPORTNAME

Ich kann nicht für den Apfel kompilieren, aber CodeInsight sagt, die sind (nun) alle gleich.
Delphi-Quellcode:
procedure TForm11.FormCreate(Sender: TObject);
begin

{$IFDEF IOS32}
  Beep;
{$ELSE}
  Beep;
{$ENDIF}

{$IFDEF IOS64}
  Beep;
{$ELSE}
  Beep;
{$ENDIF}

{$IFDEF ALIGN_STACK}
  Beep;
{$ELSE}
  Beep;
{$ENDIF}

{$IFDEF ASSEMBLER}
  Beep;
{$ELSE}
  Beep;
{$ENDIF}

{$IFDEF PC_MAPPED_EXCEPTIONS}
  Beep;
{$ELSE}
  Beep;
{$ENDIF}

{$IFDEF UNDERSCOREIMPORTNAME}
  Beep;
{$ELSE}
  Beep;
{$ENDIF}

end;

Uwe Raabe 9. Okt 2022 21:36

AW: Abfrage ob IOS Simulator ausgeführt wird
 
Du kannst in den Projektoptionen in der Basis-Konfiguration unter Delphi Compiler - Bedingungen einfach $(Platform) eintragen und im Programm dann auf
Delphi-Quellcode:
{$IFDEF iOSSimARM64 }
prüfen.

Sherlock 11. Okt 2022 13:51

AW: Abfrage ob IOS Simulator ausgeführt wird
 
Laut dem hier https://quality.embarcadero.com/browse/RSP-39702 gibt es auch IOSSIMULATOR, und das ist aktuell der richtige Weg.

Sherlock

himitsu 11. Okt 2022 14:08

AW: Abfrage ob IOS Simulator ausgeführt wird
 
Joar, aber auch erst als Reaktion auf diesen DP-Thread hier :lol: :dp:
Zitat:

Zitat von himitsu (Beitrag 1513002)
Also erstmal hier https://quality.embarcadero.com/browse/RSP-39702
und dann demnächst die Ausgaben der DEFINES, wenn die mal wieder was ändern.

Gut, dass diese Funktionialität nicht vergessen wurde ... fehlt/fehlte nur noch die Doku. :angle:


Also in diesem Fall hätten wir uns helfen können, wenn wir uns die aktuellen Defines ansehen hätten können, siehe Quote :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:11 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