Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   EMB DCE 12 - CompilerVersion per Makro ermitteln - HowTo ? (https://www.delphipraxis.net/215701-emb-dce-12-compilerversion-per-makro-ermitteln-howto.html)

paule32.jk 23. Aug 2024 13:20

EMB DCE 12 - CompilerVersion per Makro ermitteln - HowTo ?
 
Hallo,
wie kann ich der Delphi CompilerVersion per Makro ermitteln ?
Ich habe dazu den folgenden Code:

Delphi-Quellcode:
{$ifdef fpc}
    {$mode delphi}{$H+}
{$endif}
{$ifdef CompilerVersion >= 320}
{$M+}
aaaaa
{$endif}
Alle beide Conditionals werden grau dargestellt.
320 müsste doch der Tokyo Version entsprechen ?

DeddyH 23. Aug 2024 13:23

AW: EMB DCE 12 - CompilerVersion per Makro ermitteln - HowTo ?
 
https://docwiki.embarcadero.com/RADS...ation_(Delphi)
Abschnitt "Using Conditional Defines for the Compiler Version"

Uwe Raabe 23. Aug 2024 13:25

AW: EMB DCE 12 - CompilerVersion per Makro ermitteln - HowTo ?
 
Wobei die CompilerVersion für Tokyo 32.0 wäre (siehe https://docwiki.embarcadero.com/RADS...piler_Versions)

himitsu 23. Aug 2024 13:38

AW: EMB DCE 12 - CompilerVersion per Makro ermitteln - HowTo ?
 
Einfach den Städtenamen löschen und [Enter]
schon ist man beim Aktuellen.

Oder links im Menü.

paule32.jk 23. Aug 2024 13:59

AW: EMB DCE 12 - CompilerVersion per Makro ermitteln - HowTo ?
 
Delphi-Quellcode:
{$ifdef CompilerVersion >= 17.0}
{$M+}
aaaaa
{$endif}
dieser PreProcessor Conditional greift nicht.
In Zeile: 3 bekomme ich keinen Fehler vom Compiler - ist immernoch grau.

DeddyH 23. Aug 2024 14:09

AW: EMB DCE 12 - CompilerVersion per Makro ermitteln - HowTo ?
 
Da steht ja auch nicht "ifdef compilerversion", sondern nur "if compilerversion".

himitsu 23. Aug 2024 14:13

AW: EMB DCE 12 - CompilerVersion per Makro ermitteln - HowTo ?
 
Irgendwer kam auch mal auf die saublöde Idee $EndIf und $IfEnd gleichzusetzen.
https://docwiki.embarcadero.com/RADS...IFEND_(Delphi)

per se ist es so
Delphi-Quellcode:
{$IfDef} {$EndIf}

Delphi-Quellcode:
{$If} .. {$IfEnd}



PS: $IFDEF beachtet nur die erste Angabe und ignoriert den Rest
Drum geht auch sowas
Delphi-Quellcode:
{$IFDEF VER220 DelphiXE} {$ENDIF}

und bei dir meckert es deswegen auch nicht, wegen der "vermeintlich" falschen Syntax.

PPS:
Delphi-Quellcode:
{$IFDEF FPC}
=
Delphi-Quellcode:
{$IF Defined(FPC)}


Delphi-Quellcode:
{$IF not Defined(FPC) and Declared(Bezeichner) or BooleanKonstante or (IntegerKonstante <> 123)}

Bezeichner = TEineCooleKlasse, ein Typ, Variable, Konstante, Funktionsname oder sonstwas

paule32.jk 23. Aug 2024 14:38

AW: EMB DCE 12 - CompilerVersion per Makro ermitteln - HowTo ?
 
okay, Danke.
klappt...

Delphi-Quellcode:
{$ifdef fpc}
    {$mode delphi}{$H+}
{$endif}
{$ifdef CONDITIONALEXPRESSIONS}
    {$if CompilerVersion >= 18.0}
    {$M+}
    aaaa
    {$endif}
{$endif}
aber der Block mit CompilerVersion wird stets grau dargestellt.
Der Compiler hingegen macht seine Arbeit.

Hat das was mit Hintergrund-Compilierung zu tun ?

himitsu 23. Aug 2024 14:42

AW: EMB DCE 12 - CompilerVersion per Makro ermitteln - HowTo ?
 
Im Delphi 11 (und bestimmt auch in der 12)
ist nur das
Delphi-Quellcode:
{$mode delphi}{$H+}
ausgegraut
und natürlich das aaa als Fehler markiert.

Zitat:

CONDITIONALEXPRESSIONS
Wenn man nicht unbedingt TurboPascal oder Delphi 1 bis 5 unterstützen muß, dann ist das egal, da immer vorhanden.

Sherlock 23. Aug 2024 15:08

AW: EMB DCE 12 - CompilerVersion per Makro ermitteln - HowTo ?
 
Unter welchen Versionen soll das denn laufen können? Frage nur weil es neuerdings (12) eine abfragbare Laufzeitvariable gibt: https://docwiki.embarcadero.com/Libr...ompilerVersion


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:58 Uhr.
Seite 1 von 2  1 2      

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-2025 by Thomas Breitkreuz