![]() |
Umgenbunsvariable für Delphi-Version
Hallo,
ich habe hier z.B. einen Pfad für die dcu-Dateien: Q:\Dcu\Berlin\$(Config)\$(MSBuildProjectName) Gibt es eine Möglichkeit auch das "Berlin" durch eine Variable zu ersetzen? Habe schon geschaut über das ![]() Da scheint es aber bei mir keine zu geben. Tipps? |
AW: Umgenbunsvariable für Delphi-Version
Ich habe schlicht eine eigene Variable in unsere Buildskripts eingebaut. Sprich bei der Installation der Packages usw. wird diese in der Registry automatisch gesetzt und dann für die Pfade verwendet.
Es gibt aber auch $(ProductVersion) soweit ich weiß. // EDIT: Ja, $(ProductVersion) löst zu z.B. 19.0 (für 10.2) auf. // EDIT: Da war ich zu spät mit dem Editieren. ;-) |
AW: Umgenbunsvariable für Delphi-Version
Das Berlin ist ein Codename. Den wirst du nirgendwo in den Delphi-Pfaden oder -Umgebungsvariablen finden.
Es gibt aber die Variable ProductVersion, die im Falle von Delphi Berlin mit 18.0 belegt ist. |
AW: Umgenbunsvariable für Delphi-Version
Weiss jemand zufällig, ab welcher Delphi Version es $(ProductVersion) gibt? Delphi 2009 kennt es jedenfalls noch nicht.
|
AW: Umgenbunsvariable für Delphi-Version
Ich glaube, ab XE. Der zugehörige Eintrag steht unter %AppData%\BDS in environment.proj.
|
AW: Umgenbunsvariable für Delphi-Version
Ja, das gibt es ab Delphi XE, ich habe eben Delphi 2010 und XE getestet. Darin wurde ja auch z.B. der Ausgabepfad in der Standard-Buildkonfiguration um Buildkonfiguration und Plattform erweitert soweit ich mich erinnere.
|
AW: Umgenbunsvariable für Delphi-Version
Danke.
|
AW: Umgenbunsvariable für Delphi-Version
Danke an Euch! ProductVersion reicht mir völlig, ich will es nur unterscheidbar haben.
Gibt es da eine Doku dazu? (Habe einiges gegoogelt aber nichts gefunden.) |
AW: Umgenbunsvariable für Delphi-Version
Zitat:
![]() |
AW: Umgenbunsvariable für Delphi-Version
Sorry Nein, ich meine eine Doku welche Variablen es gibt.
|
AW: Umgenbunsvariable für Delphi-Version
Nee, es gibt nur hier und da Posts/Blogs wo jemand drüber redete.
Und für Einiges siehe die environment.proj |
AW: Umgenbunsvariable für Delphi-Version
Ich vermute, er meint den inneren Aufbau der DPROJ-XML.
Versuchs doch mal mit: ![]() Warum, Wieso, Weshalb? Die XML-Projektdatei von Delphi ist eigentlich ein MSBuild project file. |
AW: Umgenbunsvariable für Delphi-Version
Du kannst deine eigenen Variabeln definieren, die du dann im Pfad verwenden kannst. Unter Tools/Einstellungen/IDE/Environement Variables kannst du diene eigenen Variabeln bei "User System Overrides" hinzufügen. Diese kannst du dann in deinem Suchpfad entsprechend nutzen.
Ich habe hier z.B. eine Variable "VCLFIXES" definiert, die auf das Verzeichnis mit Delphi Bugfixes zeigt (z.B. C:\Delphi\BugFixes\D10.3". Im Suchpfad steht dann an oberster Stelle $(VCLFIXES) drin. Diese Variabeln sind gleich zu nutzen wie die vordefinierten von Delphi. Du kannst diese also auch als Bestandteil eines Pfades verwenden. |
AW: Umgenbunsvariable für Delphi-Version
Jupp, Umgebungsvariablen,
oder eine UserTools.proj basteln. $(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj |
AW: Umgenbunsvariable für Delphi-Version
Ne ne, ich meinte schon die vordefinierten Umgebungsvariablen. Die dproj interessiert mich (hier) nicht.
|
AW: Umgenbunsvariable für Delphi-Version
Zitat:
|
AW: Umgenbunsvariable für Delphi-Version
Nicht dproj.
Ja, ich verwende auch vorranig die Environments in der Registry. :) Aber die PROJ haben auch den einen oder anderen Vorteil. ![]() Wobei Dieses leider auch nur funktioniert, wenn der Typ "richtig" in der Project.dproj gespeichert ist. :cry: Oder eben die environment.proj (kommt über CodeGear.Delphi.Targets -> CodeGear.Common.Targets ins Projekt) Es gibt 3 PROJ, welche in die DPROJ gelinkt werden (falls forhanden). Achtung beim Upgrade alter DPROJ in neue Delphi's, denn dabei schleichen sich hier Fehler ein, bzw. Einiges wird nicht (richtig) aktualisiert/upgegraded. Früher waren z.B. einige Zeilen ohne IF-EXISTS, bzw. Manchs gab es noch nicht ... das ist beim Upgrade entweder falsch oder es fehlt sogar.
XML-Code:
$(BDSBIN)\CodeGear.***.Targets : Deklariert die zu verwendenden Compiler und Stellt die Scripte für Compiler/Build/Clear/MakeAll/ClearAll/... bereit.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> ... <Config Condition="'$(Config)'==''">Debug</Config> <Platform Condition="'$(Platform)'==''">Win32</Platform> ... </PropertyGroup> ... <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> <Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/> <Import Project="$(MSBuildProjectName).deployproj" Condition="Exists('$(MSBuildProjectName).deployproj')"/> </Project> $(APPDATA)\...\UserTools.proj : Hier kann man "eigene" Erweiterungen einfügen (für den Inline-Compiler und auch direkt für's MSBUILD) Aber beim Upgrade fehlt oben manchmal die Condition, dann kann man dem MSBUILD das Profiel sagen wie man will, genommen wird immer was zuletzt eingestellt war. Und es fehlen auch machmal einige der Imports, bzw. sie sind falsch. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 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