Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   $(ProjectName) bzw. IDE Variablen (https://www.delphipraxis.net/214555-%24-projectname-bzw-ide-variablen.html)

t2000 30. Jan 2024 07:48

$(ProjectName) bzw. IDE Variablen
 
Hallo zusammen,

ich hatte das oder etwas ähnliches vor längerer Zeit schon mal. Finde es aber nicht wieder. Sorry, wenn doppelt.

Habe im Ausgabepfad vom Compiler dies stehen: ".\bin\$(ProjectName)\$(Platform)\$(Config)"
Ich möchte aus einem Ordner, in dem mehrere Projekte sind, die Ausgabe in verschiedene Unterverzeichnisse legen.
Gleiches mache ich bei TMS WebCore auch. Dort funktioniert es!!
Aber die Delphi-Ausgabedateien erzeugen diesen Pfad: "bin\%ProjectName%\Win32\Debug"

Klar, ich könnte in jeder Projektdatei den Ordner fest vorgeben (mach ich jetzt erstmal auch), aber geht das nicht automatisch?

Delphi 11.3

Gruß Thomas

himitsu 30. Jan 2024 08:34

AW: $(ProjectName) bzw. IDE Variablen
 
$(SanitizedProjectName)
oder vielleicht auch
$(MainSource)


Schau in die DPROJ
XML-Code:
<PropertyGroup ...>
    <VariablenName>Wert</VariablenName>

t2000 30. Jan 2024 09:18

AW: $(ProjectName) bzw. IDE Variablen
 
In der dproj steht unter SanitizedProjectName der Projektname. Ist richtig.
Aber das Ergebnis ist nach wie vor %SanitizedProjectName% auf der Festplatte.
MainSource nicht nicht ok, weil dort ja die dpr-Endung steht.

SanitizedProjectName ist die einzige Stelle in der dproj mit dem Namen. Funktioniert aber nicht.

himitsu 30. Jan 2024 09:22

AW: $(ProjectName) bzw. IDE Variablen
 
Mit % oder $( genutzt?

t2000 30. Jan 2024 09:39

AW: $(ProjectName) bzw. IDE Variablen
 
Variable mit $

$(SanitizedProjectName) erzeugt %SanitizedProjectName% (Fehler)
$(ProjectName) erzeugt %ProjectName% (Fehler)
$(Platform) erzeugt Win32 (ok)
$(Config) erzeugt Debug (ok)

Jasocul 30. Jan 2024 09:43

AW: $(ProjectName) bzw. IDE Variablen
 
Versuche es mal mit MSBuildProjectName

Uwe Raabe 30. Jan 2024 09:43

AW: $(ProjectName) bzw. IDE Variablen
 
Zitat:

Zitat von t2000 (Beitrag 1532753)
SanitizedProjectName ist die einzige Stelle in der dproj mit dem Namen.

Es müssen ja mindestens zwei sein: die Deklaration und die Verwendung. Die Deklaration muss erst kommen. Das ist insbesondere relevant, wenn die Verwendung in der Basis-Konfiguration erfolgt. (siehe RSP-39731, RSP-40474)

BTW, der Project Magician korrigiert das implizit beim Normalize.

himitsu 30. Jan 2024 09:47

AW: $(ProjectName) bzw. IDE Variablen
 
Ach stimmt ja, die Ausgabepfade kommen vorher in der DPROJ :oops:

Aber zumindest $(MainSource) sollte dann gehn.

Uwe Raabe 30. Jan 2024 10:11

AW: $(ProjectName) bzw. IDE Variablen
 
Zitat:

Zitat von himitsu (Beitrag 1532759)
Aber zumindest $(MainSource) sollte dann gehn.

Da hängt aber noch die Extension dran.

t2000 30. Jan 2024 10:26

AW: $(ProjectName) bzw. IDE Variablen
 
Habe jetzt SanitizedProjectName oberhalb von ExeOutput gesetzt. Geht aber immer noch nicht.

Code:
    <PropertyGroup Condition="'$(Base)'!=''">
        <SanitizedProjectName>Kunde</SanitizedProjectName>
        <DCC_DcuOutput>.\dcu\$(Platform)\$(Config)</DCC_DcuOutput>
        <DCC_ExeOutput>.\bin\$(SanitizedProjectName)\$(Platform)\$(Config)</DCC_ExeOutput>

himitsu 30. Jan 2024 11:31

AW: $(ProjectName) bzw. IDE Variablen
 
OK, die Extension, aber auch der gewünschte Name.
Vielleicht könnte man das Extra ignorierend übersehen ... Hauptsache es geht. :angle2:

Uwe Raabe 30. Jan 2024 13:14

AW: $(ProjectName) bzw. IDE Variablen
 
Funktioniert hier problemlos:
Code:
   
    <PropertyGroup Condition="'$(Base)'!=''">
        <SanitizedProjectName>Project1071</SanitizedProjectName>
        <DCC_DcuOutput>.\$(SanitizedProjectName)\$(Platform)\$(Config)</DCC_DcuOutput>
        <DCC_ExeOutput>.\$(SanitizedProjectName)\$(Platform)\$(Config)</DCC_ExeOutput>
BTW, warum verwendest du das nicht für die DCUs? Die Separierung gleichnamiger DCUs für jedes Projekt ist doch ein viel größerer Gewinn als irgendwo verteilte Exe-Dateien. Die unterscheiden sich ja per Definition schon vom Namen. Bei mir landen die in der Regel im selben Verzeichnis.

t2000 30. Jan 2024 14:41

AW: $(ProjectName) bzw. IDE Variablen
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1532780)

BTW, warum verwendest du das nicht für die DCUs? Die Separierung gleichnamiger DCUs für jedes Projekt ist doch ein viel größerer Gewinn als irgendwo verteilte Exe-Dateien. Die unterscheiden sich ja per Definition schon vom Namen. Bei mir landen die in der Regel im selben Verzeichnis.

Habe aufgrund gleichzeitiger Entwicklung von Web (html,css,js) und Delphi in der gleichen Ordnerstruktur Verzeichnisse komplett umgebaut. Brauche die unterschiedlichen exe-Ordner (TMS WebCore / Projekt.js) für die Verwaltung mit npm (node.js) usw. Nach einem Jahr verzweifelter Synchronisierung zwischen Delphi Entwicklern, Web-Designerin und Javascript-Gurus war das überfällig. Nur so schaffen wir vernünftig und im Team gleiche Entwicklungsstände.

Und bei den dcu's bin ich noch nicht angekommen :wink: Kommen dann wohl als letzter Schritt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:53 Uhr.

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