Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Projekt auf ein anderes Laufwerk kopieren (https://www.delphipraxis.net/189656-projekt-auf-ein-anderes-laufwerk-kopieren.html)

Erdbär 6. Jul 2016 15:57

AW: Projekt auf ein anderes Laufwerk kopieren
 
Zitat:

Zitat von Sherlock (Beitrag 1342086)
Welche Delphiversion speichert denn noch absolute Pfade in der dproj? XE2 hat das jedenfalls nicht mehr gemacht. 2007 IIRC auch nicht.

Sherlock

Welche Delphiversionen speichern denn/seit wann in *.dpro* statt in *.dpr ?

D7 und Lazarus kennt man bereits/noch, Mr. Holmes? :-D

mm1256 7. Jul 2016 07:13

AW: Projekt auf ein anderes Laufwerk kopieren
 
Zitat:

Zitat von Sherlock (Beitrag 1342086)
Welche Delphiversion speichert denn noch absolute Pfade in der dproj? XE2 hat das jedenfalls nicht mehr gemacht. 2007 IIRC auch nicht.

Sherlock

Du meinst wahrscheinlich die ".dpr". Delphi speichert meines Wissens schon immer absolute Pfade in der .dpr wenn die Unit nicht in einem Sub-Ordner des Projektverzeichnisses (der Ordner der .dpr Datei) oder auf einem anderen Laufwerk liegt.

BTW in der ".dsk", der ".identcache" und auch in der ".dproj" sind absolute Pfade zu finden. In der ".dproj" z.B. wenn Units explizid includiert werden. Beispiel aus einer meiner ".dproj" =>
Code:
<DCCReference Include="D:\Package\Jedi\JCL\source\windows\JclMapi.pas"/>

HPB 7. Jul 2016 07:18

AW: Projekt auf ein anderes Laufwerk kopieren
 
Zitat:

Zitat von jaenicke (Beitrag 1342083)
Die Frage ist doch wie diese Units eingebunden sind. Stehen die absoluten Pfade in der .dpr Datei drin?

Guten Tag jaenicke,
vielen Dank für Deine Antwort.
Die absoluten Pfade stehen in der .dpr drin.
hier ein Auszug:
Delphi-Quellcode:
  unVSTEinstellungen in 'G:\BPSObjektAblage\VST\unVSTEinstellungen.pas',
  AES in 'G:\BPSObjektAblage\Verschlüsselung\AES\AES.pas',
  ElAES in 'G:\BPSObjektAblage\Verschlüsselung\AES\ElAES.pas',
wie und wo kann in Delphi eingestellt werden, das immer nur relative Pfade genommen werden?
Mit Gruß
HPB

mm1256 7. Jul 2016 08:03

AW: Projekt auf ein anderes Laufwerk kopieren
 
Zitat:

Zitat von HPB (Beitrag 1342127)
wie und wo kann in Delphi eingestellt werden, das immer nur relative Pfade genommen werden?

Das geht nicht. Wenn die Projektdatei auf G: liegt dann könntest du zwar aus der ".dpr" die Pfadangaben raus nehmen, aber in den anderen zum Projekt gehörenden Dateien würden von Delphi trotzdem die absoluten Pfade eingetragen werden.

Uwe Raabe 7. Jul 2016 08:33

AW: Projekt auf ein anderes Laufwerk kopieren
 
Ich kann jetzt nicht sagen, ob das für alle Delphi-Versionen gilt, aber meine Beobachtung ist, daß Delphi immer relative Pfade nimmt, wenn die Units im selben Laufwerk zu finden sind, wie die DPR-Datei. Das kann schon mal in regelrechte Punktorgien ausarten. Nur wenn die Laufwerke nicht passen, wird der Laufwerksbuchstabe verwendet (geht ja auch nicht anders).

Wenn also solche Referenzen auf G:\ vorkommen, genügt es, das Projekt über Speichern unter ebenfalls auf G abzulegen - sinnvollerweise gleich in einem geeigneten Verzeichnis - um die relativen Pfade zu erhalten. Danach kann man dann das Projekt an eine andere Stelle verlagern, solange die Verzeichnisstruktur erhalten bleibt.

Das funktioniert in der Regel problemlos. Ich kopiere öfter mal ein komplettes Projektverzeichnis oder benenne es um, ohne daß dies die Funktionsfähigkeit beeinträchtigt.

mm1256 7. Jul 2016 09:54

AW: Projekt auf ein anderes Laufwerk kopieren
 
@Uwe Ich hab das soeben interessehalber nochmal getestet. Es macht offensichtlich einen Unterschied ob man eine Unit dem Projekt hinzufügt, oder ob man im Projekt eine Unit erzeugt. Bei Letzterem nimmt Delphi die "Punkte-Orgie" und bei Ersterem den absoluten Pfad. Aber komischerweise auch nicht immer.

In meinen Projekten befinden sich jedenfalls fast ausschließlich absolute Pfadangaben weil ich neue Units/Formulare in der Regel mit einem Testprogramm erstelle und teste, und dann erst dem Projekt hinzufüge (Zeitersparnis beim compilieren und testen).

Uwe Raabe 7. Jul 2016 10:58

AW: Projekt auf ein anderes Laufwerk kopieren
 
Zitat:

Zitat von mm1256 (Beitrag 1342137)
In meinen Projekten befinden sich jedenfalls fast ausschließlich absolute Pfadangaben weil ich neue Units/Formulare in der Regel mit einem Testprogramm erstelle und teste, und dann erst dem Projekt hinzufüge (Zeitersparnis beim compilieren und testen).

Interessant. Ich habe bei mir ausschließlich relative Pfade, weil ich meine Projekte immer so anlege, daß die verwendeten Units in Verzeichnissen unterhalb der Projekt-Datei liegen. Lediglich die Suchpfade dürfen schon mal eine Ebene höher referenzieren, wenn es eine übergeordnete Struktur gibt, in der die verwendeten Libraries verwaltet werden. Absolute Pfade gibt es projektbezogen gar nicht. Damit kann ich die Projektstruktur beliebig irgendwo ablegen. Das ist auch für die Versionsverwaltung und das Build-System unerlässlich. Absolute Pfade sind da ein absolutes Tabu.

HPB 7. Jul 2016 11:39

AW: Projekt auf ein anderes Laufwerk kopieren
 
@Uwe,
bei mir sieht die Struktur immer so aus:
LW:\ProjektOrdner (hier liegt die .dpr)
alles andere liegt in Unterordnern:
LW:\ProjektOrdner
Ordner-1
Ordner-2
Ordner-3
Ordnern ...
In den Unterordnern Ordner-1 bis Ordner-n liegen immer nur
die Formulare. Jeder der Unterordnern hat immer auch einen Ordner für
die Units die das jeweilieg Formular benötigt.

Mit Gruß HPB

mm1256 7. Jul 2016 11:42

AW: Projekt auf ein anderes Laufwerk kopieren
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1342142)
Ich habe bei mir ausschließlich relative Pfade, weil ich meine Projekte immer so anlege, daß die verwendeten Units in Verzeichnissen unterhalb der Projekt-Datei liegen.

So hat eben jeder seine eigenen individuellen Vorgehensweisen. So wie du es handhabst würde es bei mir gar nicht gehen, weil ich dann die von mehreren Projekten gemeinsam verwendeten Dialoge und Helper-Units (z.B. Stringbearbeitung) bei jedem Projekt duplizieren müsste. Darum liegen diese Units auf einem anderen Laufwerk.

Wie dem auch sei, ich werde das Verhalten von Delphi in dieser Hinsicht mal etwas genauer beobachten.

jaenicke 12. Jul 2016 07:49

AW: Projekt auf ein anderes Laufwerk kopieren
 
Zitat:

Zitat von mm1256 (Beitrag 1342149)
So wie du es handhabst würde es bei mir gar nicht gehen, weil ich dann die von mehreren Projekten gemeinsam verwendeten Dialoge und Helper-Units (z.B. Stringbearbeitung) bei jedem Projekt duplizieren müsste. Darum liegen diese Units auf einem anderen Laufwerk.

Bei uns liegen die auch in einem anderen Verzeichnis. Die werden aber nur per Buildskript einmal erzeugt und nicht bei jedem Kompilieren eines Projekts :shock:.
Der Bibliothekspfad zeigt einfach auf die .dcu Dateien und das war es. In den Projekten werden die nur in die uses geschrieben, aber nicht in dem Projekt hinzugefügt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:57 Uhr.
Seite 2 von 4     12 34      

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