Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Tokyo Update 3 identifizieren (https://www.delphipraxis.net/196284-tokyo-update-3-identifizieren.html)

Ralf Kaiser 7. Mai 2018 13:35

Tokyo Update 3 identifizieren
 
Halli Hallo,

Gibt es eigentlich eine Möglichkeit irgendwie per IFDEF festzustellen ob von Delphi Tokyo das Update 2 oder schon das Update 3 installiert ist? Ich habe bisher keine unterschiedlichen DEFINES für diese 2 Versionen gefunden aber das Update 3 führt einige neue Klassen ein, weshalb auf Arbeitsplätzen die nur Update 2 installiert haben das kompilieren fehlschlagen würde.

Danke schon mal,
Ralf

KodeZwerg 7. Mai 2018 13:47

AW: Tokyo Update 3 identifizieren
 
Compiler-Versionen
Leider ist "VER320" für "Delphi 10.2 Tokyo / C++Builder 10.2 Tokyo" das letzte.

edit
Vielleicht über die RTL Value?

mkinzler 7. Mai 2018 14:12

AW: Tokyo Update 3 identifizieren
 
Der Compiler ist ja auch der selbe. Besser wäre es nach der Version der RTL oder der UI-Bibliothek zu entscheiden.

Die RTLVersion von Tokyo Update 3 ist 32. Bin mir aber nicht sicher ob diese nicht auch die Version der Vorgänger 10.2er war.

himitsu 7. Mai 2018 14:16

AW: Tokyo Update 3 identifizieren
 
Im Prinzip müssten die Updates eine eigene Versionsnummer bekommen, da man ja seit 'ner Weile die "Updates" nicht mehr für Bugfixes, sondern auch für neue Features (Upgrades) nutzt.

VER320 = 10.2
VER321 = 10.2.2
VER322 = 10.2.3
...


Bleibt nur noch, dass du nicht nur auf Versionsnummer, sondern auf das Vorhandensein/Nichtvorhandensein von Funkionen/Klassen/Typen/Variablen/Konstanten prüfst, welche sich bei dem Update geändert hatten.

Aber prinzipiell ist es eh besser auf Features zu prüfen, anstatt auf Versionen.


RTLVersion und VCLVersion gibt es theoretisch, aber die waren bis jetzt immer identisch mit der CompilerVersion.
FMXVersion und Versionen für andere Programmteile gibt es garnicht.

Ralf Kaiser 7. Mai 2018 14:20

AW: Tokyo Update 3 identifizieren
 
Zumindest in der Tabelle die im DocWiki die ganzen Versionen auflistet wird nicht zwischen Update 2 und Update 3 unterschieden. :cry:

mkinzler 7. Mai 2018 14:23

AW: Tokyo Update 3 identifizieren
 
Als Konstante: FMX.Types.FireMonkeyVersion

Uwe Raabe 7. Mai 2018 14:27

AW: Tokyo Update 3 identifizieren
 
Zitat:

Zitat von Ralf Kaiser (Beitrag 1401535)
das Update 3 führt einige neue Klassen ein, weshalb auf Arbeitsplätzen die nur Update 2 installiert haben das kompilieren fehlschlagen würde.

Du kannst das Vorhandensein dieser Klassen mittels
Delphi-Quellcode:
{$IF Declared(TMyNewCLass)}
prüfen.

Ralf Kaiser 7. Mai 2018 14:28

AW: Tokyo Update 3 identifizieren
 
Zitat:

Zitat von himitsu (Beitrag 1401540)
Aber prinzipiell ist es eh besser auf Features zu prüfen, anstatt auf Versionen.

Na ja, es geht hier speziell um die Unit System.Net.Mime

Da gibt es (Update 2) einmal die Liste aller Mimetypes als Array in einer Konstanten. In Update 3 gibt es dieses Array nicht mehr, dafür existiert eine Klasse TMimeTypes die diese Daten als Dictionary verwaltet.

Ich habe keinen Schimmer, wie ich diese beiden Versionen beim kompilieren über IFDEF oder so auseinander halten soll.

Die einzige Idee die ich habe ist es die neuere Unit erst einmal lokal in das Projektverzeichnis zu kopieren und ins Projekt aufzunehmen. So würden auch ältere Compiler die neue Unit verwenden (ich mag diese Lösung aber gar nicht...)

himitsu 7. Mai 2018 14:30

AW: Tokyo Update 3 identifizieren
 
Wie schon erwähnt, siehe der Post über dir.

Delphi-Quellcode:
{$IF Declared(TMimeTypes)}

{$IF Defined(VER320) and Declared(TMimeTypes)}

{$IF (CompilerVersion >= 32.0) and Declared(TMimeTypes)}
1 und 3 sind von der Bedingung her zukunftssicherer.

Zitat:

FireMonkeyVersion
Wer kommt denn darauf.

Hatte vor 2-3 Jahren mal gesucht, aber nichts gefunden.


Oder Emba führt endlich mal die Versionen besser. z.B.:
VER320 und VER323 und CompilerVersion=32.3 für ein Update.

Stevie 7. Mai 2018 14:48

AW: Tokyo Update 3 identifizieren
 
Zitat:

Zitat von Ralf Kaiser (Beitrag 1401535)
auf Arbeitsplätzen die nur Update 2 installiert haben

Gibt es einen triftigen Grund, das so zu belassen? Imho sollte man alle Arbeitsplätze auf das neuste Update ziehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 Uhr.
Seite 1 von 3  1 23      

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