![]() |
Projekt auf ein anderes Laufwerk kopieren
Guten Tag Delphianer,
ich habe ein Projekt das vorher auf der Festplatte (D:\Projektname) entwickelt wurde auf eine andere externe Festplatte (F:\Projektname) kopiert. Nun möchte ich das Projekt auf der Platte (F:\Projektname) weiter entwickeln. Beim Compilieren bekomme ich aber Fehlermeldungen das verschiedene DCU-Dateien von selbst entwickelten Units fehlen. Die DCU's sind aber im Verzeichnis vorhanden. Was muss ich einstellen damit ich am Projekt weiter arbeiten kann? Mit Gruß HPB |
AW: Projekt auf ein anderes Laufwerk kopieren
Du musst vermutlich die Bibliothekspfade im Delphi an das Laufwerk F: anpassen.
- Tool - Optionen - Bibliothek... Gruß Gebhard |
AW: Projekt auf ein anderes Laufwerk kopieren
Danke für die Antwort braunbaer.
Wenn ich die Bibliothekspfade für dieses eine Projekt ändere, dann muss ich diese wieder ändern, wenn ich ein anderes Projekt bearbeite? Das wäre sehr unglücklich! Gibt es hier für keine andere Lösung? Mit Gruß HPB |
AW: Projekt auf ein anderes Laufwerk kopieren
Klar und ganz einfach, im neuen Projektordner alle Dateien löschen, die den Pfad zum alten Projektordner enthalten :oops:
*.dof ist nicht doof, sondern reaktionär wie die AfD :evil: |
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
Solltest also dieses Problem nicht bekommen. |
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
Auf Dauer würde ich außerdem alle absoluten Pfadangaben durch relative ersetzen, dann gibt's das Problem beim nächsten Umzug nicht mehr. |
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
|
AW: Projekt auf ein anderes Laufwerk kopieren
Die Frage ist doch wie diese Units eingebunden sind. Stehen die absoluten Pfade in der .dpr Datei drin?
|
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
|
AW: Projekt auf ein anderes Laufwerk kopieren
Welche Delphiversion speichert denn noch absolute Pfade in der dproj? XE2 hat das jedenfalls nicht mehr gemacht. 2007 IIRC auch nicht.
Sherlock |
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
D7 und Lazarus kennt man bereits/noch, Mr. Holmes? :-D |
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
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"/>
|
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
vielen Dank für Deine Antwort. Die absoluten Pfade stehen in der .dpr drin. hier ein Auszug:
Delphi-Quellcode:
wie und wo kann in Delphi eingestellt werden, das immer nur relative Pfade genommen werden?
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', Mit Gruß HPB |
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
|
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. |
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). |
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
|
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-1In 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 |
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
Wie dem auch sei, ich werde das Verhalten von Delphi in dieser Hinsicht mal etwas genauer beobachten. |
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
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. |
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
Bei mir sind aber alle Bibliotheken in dem Projekt oder im Über-Projekt eingebunden (als SubRepos), da ich in den verschiedenen Projekten halt oft unterschiedliche Versionen der Bibliotheken verwenden muss. Ich kämpfe heute noch mit den alten Projekt-Versionen, bei denen das noch über globale Pfade gelöst wurde, wenn ich die mal wieder anfassen muss. Da muss man nach dem Auschecken der Version erst seine Entwicklungsumgebung passend einrichten - häufig mit Laufwerksbuchstaben, die heute auf ganz was anderes zeigen als damals und somit auch nicht einfach geSUBST werden können. |
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
Während dieser Umbauarbeiten möchte/muss ich aber auch Zugriff auf die alten Version (sowohl Projekt als auch alle Units) haben (benutze keine Versionsverwaltung) und dann schraubt man ständig an den Suchpfaden rum, was ich persönlich als lästig und fehleranfällig empfunden habe. Seit ich generell alle Units über absolute Pfade in die .dpr einbinde (Delphi macht das ja automatisch wenn die Units auf einem anderen Laufwerk oder nicht in einem Subordner des Projektes liegen) hab ich diesen Stress nicht mehr. Aber, wie schon gesagt, das macht jeder auf die Art und Weise wie er am besten damit klar kommt. Hat alles seine Vor- und Nachteile. |
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
|
AW: Projekt auf ein anderes Laufwerk kopieren
Ich glaube nicht, dass wir dafür von Daniel eines auf die Finger bekommen, denn es gehört doch irgendwie zum Thema. Denn, wenn man ein Projekt auf ein anderes Laufwerk umzieht, oder gar auf einen anderen Rechner, und die .dpr enthält z.B. ausnahmsweise absolute Pfadangaben, dann kann sich das ganz anders auswirken als bei Suchpfaden. Hat also doch irgendwas mit dem Thema zu tun. Abgesehen davon, wir bleiben ja anständig und sachlich :thumb:
|
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
Dagegen ist die Fehleranfälligkeit von Suchpfaden noch die reinste Wonne. ;-) Aber jedem das seine... |
AW: Projekt auf ein anderes Laufwerk kopieren
sorry für OT
Zitat:
|
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
Bei den Dritthersteller-Komponenten habe ich meistens die Projektdateien und Projektgruppen so angepasst und Build-Gruppen erstellt, daß sie sich mit wenigen Klicks öffnen, compilieren und installieren lassen. Dann muss ich auch nicht erst auf die neue Version des Herstellers warten, was ja auch schon mal länger dauern kann. In der Vergangenheit hatte ich immer wieder Schwierigkeiten mit Packages, die zu der Projektgruppe gehören und ausschließlich innerhalb dieser Gruppe benutzt werden. Dort war es mitunter sehr lästig, die Versionsabhängigkeit durchzuziehen. Aber da gibt es ja jetzt auch Abhilfe :) |
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
Die passe ich bei einem neuen Release einmal an, in der Regel eine Sache von einer Stunde max. sobald die JEDIs da sind für die Version. Will ich jetzt nachschauen was in einer Version von vor einem halben Jahr schief gegangen ist, kann ich einfach diese Version auschecken, per Batch die gemeinsamen Units neu erstellen und in der Version debuggen. So lässt sich dann ggf. ein Workaround oder Hotfix anbieten ohne auf die aktuelle Version aktualisieren zu müssen. Dazu kommt, dass man ohne Versionsverwaltung nicht einmal sehen kann wann und warum eine bestimmte Zeile eigentlich zuletzt geändert wurde. Man kann einen Fehler also nur ggf. feststellen, kann aber nicht sehen, ob ein Fix evtl. an einer anderen Stelle Probleme macht, da man eine Änderung wieder zurücknehmen muss oder ähnliches. Man sieht ja nicht welche Änderungen mit anderen zusammenhängen. Bei einer Versionsverwaltung kannst du einfach nachschauen warum jemand die Stelle geändert hat und was mit der Änderung noch zusammenhängt. |
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
|
AW: Projekt auf ein anderes Laufwerk kopieren
Ich bin einer von der schusseligen Sorte. Wenn ich also mal wieder so unglücklich mit der Stirn auf die Tastatur geknallt bin, das der Code zwar compiliert, aber zur Laufzeit seltsame Dinge geschehen, die sich erst nach zwei Tagen offenbaren (*), bin ich ohne Versionsverwaltung aufgeschmissen.
Sherlock (*) Das ist die einzige Fehlerquelle in meinen Programmen, ehrlich! |
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
Genau das sagt mir aber die Versionsverwaltung. Und wie ich an anderer Stelle schon einmal geschrieben habe gibt es ja noch einige andere Vorteile, die man auch als Einzelperson hat:
|
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
|
AW: Projekt auf ein anderes Laufwerk kopieren
Ich committiere wenigstens einmal am Tag. Eigentlich aber mit jedem abgeschlossenen Thema. Das macht es einfacher griffige Commit-Kommentare anzugeben. Man sollte eigentlich auch in der Lage sein, Problemstellungen granular genug zu formulieren, so daß man schöne Häppchen abarbeiten und committetenentete... übergeben kann.
Ich bin neulich mit unversioniertem Python-Code mächtig auffe Schnauze gefallen. Da hatte sich die Einrückung...ähm...verrückt und schon ändert sich da ja bekanntlich etwas. Die Fehlersuche war nicht lustig. Dann hab ich das eigentlich kleine Projekt ins Mercurial geschoben. Das will ich nicht nochmal erleben. Sherlock |
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
Commits müssen auch nicht zwangsläufig compilieren oder auch die Tests bestehen. Das sollte in der Regel dann gelten, wenn man die ChangeSets pusht (ich rede hier über Mercurial). Mir ist klar, daß das bei einem Subversion-System schon mal anders aussehen kann, weil man dann eventuell bei jedem Commit mergen muss oder das CI-System meckert. Deswegen verwende ich ja auch ein DVCS wie Mercurial, bei dem ich diese Möglichkeit der kleinen Commits habe, ohne daß Andere davon beeinflusst werden. Es hat allerdings auch eine Weile gedauert, bis ich diese Art zu arbeiten verinnerlicht hatte. |
AW: Projekt auf ein anderes Laufwerk kopieren
Zitat:
Auf diese Weise weiß ich immer genau was zu welcher Änderung gehörte und warum ich etwas geändert habe. Insbesondere weiß ich ganz genau, dass keine Änderung unbeabsichtigt in den Produktivcode im Repository gelangt, da ich diese ja prüfe. |
AW: Projekt auf ein anderes Laufwerk kopieren
Ich wünschte, ich hätte die Kapazitäten frei, ein VCS einzuführen und mich einzuarbeiten. Im Moment könnte ich gut sowas wie "Softtime" (Analogie zum legendären
![]() So ein VCS, egal welches, führt man ja nicht im Handstreich ein und integriert seine eigenen Projekte. Ich habe zwar ab und zu mit Subversion zu tun, allerdings nur bei freien Projekten wo ich gelegentlich kleinere Commits mache. Da unser eigener Projekt-Source aber nicht außer Haus darf, könnte ich nicht auf gehostete VCS zurückgreifen sondern müsste das auch noch selbst aufsetzen. No Chance derzeit, leider. |
AW: Projekt auf ein anderes Laufwerk kopieren
Also "aufsetzen" ist ein großes Wort. Zum reinschnüffeln reicht doch ein "installieren" und "benutzen" ;)
Ein extrem freundlicher Einstieg wäre zum Beispiel mit SourceTree von Atlassian möglich. Einfach installieren und benutzen. Musst Dir dabei nichtmal Gedanken machen, ob Du da jetzt eigentlich ein Git oder ein Mercurial benutzt. Sherlock |
AW: Projekt auf ein anderes Laufwerk kopieren
Ich habe hier eine kleine Anleitung geschrieben:
![]() Das sollte, insbesondere weil du ja SVN schon ein wenig kennst, in einer halben Stunde locker laufen und deine Projekte kannst du ja an der Stelle einchecken wo sie aktuell liegen. Dann musst du auch nichts weiter umstellen, hast aber trotzdem den Vorteil der Versionierung usw. Die einfachste Variante dafür ist, den Ordner mit den Quelltexten umzubenennen, in den Ordner mit dem Namen das Repository auszuchecken und dann die Dateien alle wieder in den Ordner zu schieben. Dann einmal Add auf alles, Commit und es ist alles im Repository. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:46 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