![]() |
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 |
AW: Tokyo Update 3 identifizieren
![]() Leider ist "VER320" für "Delphi 10.2 Tokyo / C++Builder 10.2 Tokyo" das letzte. edit Vielleicht über die RTL Value? |
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. |
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. |
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:
|
AW: Tokyo Update 3 identifizieren
Als Konstante: FMX.Types.FireMonkeyVersion
|
AW: Tokyo Update 3 identifizieren
Zitat:
Delphi-Quellcode:
prüfen.
{$IF Declared(TMyNewCLass)}
|
AW: Tokyo Update 3 identifizieren
Zitat:
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...) |
AW: Tokyo Update 3 identifizieren
Wie schon erwähnt, siehe der Post über dir.
Delphi-Quellcode:
1 und 3 sind von der Bedingung her zukunftssicherer.
{$IF Declared(TMimeTypes)}
{$IF Defined(VER320) and Declared(TMimeTypes)} {$IF (CompilerVersion >= 32.0) and Declared(TMimeTypes)} Zitat:
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. |
AW: Tokyo Update 3 identifizieren
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:45 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-2025 by Thomas Breitkreuz