Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#17

AW: Umgenbunsvariable für Delphi-Version

  Alt 23. Feb 2021, 13:36
Nicht dproj.


Ja, ich verwende auch vorranig die Environments in der Registry.

Aber die PROJ haben auch den einen oder anderen Vorteil.
https://www.delphipraxis.net/197062-...efine-vcl.html
Wobei Dieses leider auch nur funktioniert, wenn der Typ "richtig" in der Project.dproj gespeichert ist.

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:
<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>
$(BDSBIN)\CodeGear.***.Targets : Deklariert die zu verwendenden Compiler und Stellt die Scripte für Compiler/Build/Clear/MakeAll/ClearAll/... bereit.

$(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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (23. Feb 2021 um 13:39 Uhr)
  Mit Zitat antworten Zitat