Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   DCU-Ausgabeverzeichnis global einstellen (https://www.delphipraxis.net/154549-dcu-ausgabeverzeichnis-global-einstellen.html)

uligerhardt 15. Sep 2010 09:41

DCU-Ausgabeverzeichnis global einstellen
 
Hallo zusammen!

Kennt ihr eine Möglichkeit, das DCU-Ausgabeverzeichnis global (d.h. für alle Delphi-Projekte auf einmal) einzustellen? Ziel ist, dass diese Einstellung nicht im *.dproj auftaucht (als
Delphi-Quellcode:
<DCC_DcuOutput>
), weil da jeder unserer Entwickler andere Vorlieben hat.

Am besten wäre, wenn
Delphi-Quellcode:
$(PROJECTDIR)\DCUs
ginge (also für jedes Projekt ein projektspezifischer Ordner), aber wir könnten auch mit
Delphi-Quellcode:
$(BDSPROJECTSDIR)\DCUs
(die DCUs aller Projekte in einem Verzeichnis) leben.

Was mir beim Schreiben grad so einfällt: Man könnte das vielleicht mit Umgebungsvariablen lösen - mal sehen. Eine "Delphi-eigene" Lösung wäre natürlich schöner. ;-)

DelphiBandit 15. Sep 2010 10:25

AW: DCU-Ausgabeverzeichnis global einstellen
 
Umgebungsvariablen ist gut - legt Euch doch in der IDE über Optionen/Umgebungsvariablen eine Neue für das globale DCU-Ausgabeverzeichnis GLOBALDCUOUT an und jeder kann die in seiner IDE einstellen, wo er es gerne hinschreiben lassen möchte, indem er den Wert der Variablen setzt bzw. umsetzt.
Wir haben das für Projekte $(PROJECTS) / Komponenten $(COMPOS) auch so gelöst, erleichtet den Umzug und macht die Suchpfade übersichtlicher. Man trägt dann innerhalb der Projekte als DCU-Ausgabe einfach einen Verweis mittels $(GLOBALDCUOUT) ein. Den Rest erledigt die IDE und ersetzt das durch den aktuellen Wert aus den Optionen.

Die Arbeit das einmalig in alle bestehenden Projekte einzutragen nimmt Euch imho aber keiner ab. Und hoffe ich habe Dich nicht total missverstanden 8-)

Bernhard Geyer 15. Sep 2010 10:26

AW: DCU-Ausgabeverzeichnis global einstellen
 
Zitat:

Zitat von uligerhardt (Beitrag 1049734)
... aber wir könnten auch mit
Delphi-Quellcode:
$(BDSPROJECTSDIR)\DCUs
(die DCUs aller Projekte in einem Verzeichnis) leben.

Ist von Nachteil wenn du mit Compilerschaltern arbeitest. Projekt A wird z.B. mit DEBUG übersetzt (erzeugen). Dann wird Projekt B übersetzt (compilieren). Diese hat dann alles Units mit Debug-Infos obwohl im Projekt diese nicht gesetzt sind.

uligerhardt 15. Sep 2010 10:35

AW: DCU-Ausgabeverzeichnis global einstellen
 
Zitat:

Zitat von DelphiBandit (Beitrag 1049741)
Umgebungsvariablen ist gut - legt Euch doch in der IDE über Optionen/Umgebungsvariablen eine Neue für das globale DCU-Ausgabeverzeichnis GLOBALDCUOUT an und jeder kann die in seiner IDE einstellen, wo er es gerne hinschreiben lassen möchte, indem er den Wert der Variablen setzt bzw. umsetzt.
Wir haben das für Projekte $(PROJECTS) / Komponenten $(COMPOS) auch so gelöst, erleichtet den Umzug und macht die Suchpfade übersichtlicher. Man trägt dann innerhalb der Projekte als DCU-Ausgabe einfach einen Verweis mittels $(GLOBALDCUOUT) ein. Den Rest erledigt die IDE und ersetzt das durch den aktuellen Wert aus den Optionen.

So in etwa stelle ich mir das vor. (Für Komponenten machen wir das sogar schon so, aber ich hatte die Hoffnung, für das DCU-Verzeichnis gäbe es eine Builtin-Lösung.)

Zitat:

Zitat von DelphiBandit (Beitrag 1049741)
Die Arbeit das einmalig in alle bestehenden Projekte einzutragen nimmt Euch imho aber keiner ab. Und hoffe ich habe Dich nicht total missverstanden 8-)

Hast du nicht. Für das Eintragen schreibe ich mir notfalls ein Tool, das alle dproj-Dateien durchnudelt - das sollte das geringste Problem sein. :mrgreen:

uligerhardt 15. Sep 2010 10:38

AW: DCU-Ausgabeverzeichnis global einstellen
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1049742)
Zitat:

Zitat von uligerhardt (Beitrag 1049734)
... aber wir könnten auch mit
Delphi-Quellcode:
$(BDSPROJECTSDIR)\DCUs
(die DCUs aller Projekte in einem Verzeichnis) leben.

Ist von Nachteil wenn du mit Compilerschaltern arbeitest. Projekt A wird z.B. mit DEBUG übersetzt (erzeugen). Dann wird Projekt B übersetzt (compilieren). Diese hat dann alles Units mit Debug-Infos obwohl im Projekt diese nicht gesetzt sind.

Ja, da bin ich schon drüber gestolpert. :oops: Aber da ich alle Naselang Shift-F9 drücke, ist das in der Praxis kein Problem.

mleyen 15. Sep 2010 10:53

AW: DCU-Ausgabeverzeichnis global einstellen
 
Zitat:

Zitat von uligerhardt (Beitrag 1049745)
Ja, da bin ich schon drüber gestolpert. :oops: Aber da ich alle Naselang Shift-F9 drücke, ist das in der Praxis kein Problem.

Entfernt der Compiler die Debug-Infos erst hinterher aus den DCU-Dateien?
Andernfalls dürfte das doch nicht funktionieren, wenn die Sourcedatei nicht vorhanden ist.
(Würde zumindest einiges erklären)

uligerhardt 15. Sep 2010 16:08

AW: DCU-Ausgabeverzeichnis global einstellen
 
Zitat:

Zitat von DelphiBandit (Beitrag 1049741)
Umgebungsvariablen ist gut - legt Euch doch in der IDE über Optionen/Umgebungsvariablen eine Neue für das globale DCU-Ausgabeverzeichnis GLOBALDCUOUT an und jeder kann die in seiner IDE einstellen, wo er es gerne hinschreiben lassen möchte, indem er den Wert der Variablen setzt bzw. umsetzt.
Wir haben das für Projekte $(PROJECTS) / Komponenten $(COMPOS) auch so gelöst, erleichtet den Umzug und macht die Suchpfade übersichtlicher. Man trägt dann innerhalb der Projekte als DCU-Ausgabe einfach einen Verweis mittels $(GLOBALDCUOUT) ein. Den Rest erledigt die IDE und ersetzt das durch den aktuellen Wert aus den Optionen.

So, mein Kollege und ich haben's mal ausprobiert: Ich habe mir die Umgebungsvariable definiert (im System, nicht in Delphi, sonst kennt sie MSBuild nicht, wenn man es von außerhalb der IDE aufruft), in die Projektoptionen eingetragen, Delphi neu gestartet und Shift-F9 - funktioniert!
  • Delphi-Quellcode:
    .\DCUs
    funzt wider Erwarten: Zum Einen wird der Punkt ins richtige Verzeichnis (nämlich das Projektverzeichnis) umgewandelt, und zum Anderen wird sogar das Unterverzeichnis angelegt, wenn es noch nicht existiert.
  • Man darf nicht
    Delphi-Quellcode:
    $(BDSPROJECTSDIR)\DCUs
    als Pfad angeben, sondern muss es "expandieren" (
    Delphi-Quellcode:
    c:\Documents and Settings\<User>\My Documents\RAD Studio\Projekte\DCUs
    ). Sonst klappt's nicht mit dem doppelten Expandieren.
  • Lässt man die Umgebungsvariable leer oder legt sie gar nicht erst an, so bleibt das Ausgabeverzeichnis undefiniert und die DCUs werden wild über die Platte gesplattert, wie's mein Kollege liebt. :twisted:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 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