Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Ich kapiere das mit dem Speichern nicht (https://www.delphipraxis.net/178901-ich-kapiere-das-mit-dem-speichern-nicht.html)

Erutan 3. Feb 2014 07:06

Ich kapiere das mit dem Speichern nicht
 
Hallo zusammen,

ich kriege das mit dem Speichern meiner Projekte einfach nicht hin und ich verstehe auch nicht warum Delphi (ich habe die Version 7) das so kompliziert macht.

Folgendes: Ich habe ein Projekt angelegt und möchte es speichern. Ich klicke also auf "Projekt speichern", sage Delphi wohin und wie es heißen soll. Delphi legt dann eine ganze Menge Dateien an.

So weit so gut.

Nun habe ich es mir aber (nicht nur bei Delphi, sondern generell) zur Angewohnheit gemacht, Veränderungen in ein neues Verzeichnis zu speichern, damit ich für Notfälle immer auf frühere Versionen zurückgreifen kann.
Wenn ich das aber bei Delphi mache, dann speichert der z.B. die Units etc. gar nicht mit, sondern verlinkt alles nur auf den alten Speicherplatz.

Wie kann ich Delphi dazu bewegen, eine komplett neue Kopie aller benötigten Dateien in dem neuen Verzeichnis anzulegen, die vollständig unabhängig von den Originaldateien sind?

Gutelo 3. Feb 2014 07:12

AW: Ich kapiere das mit dem Speichern nicht
 
Wieso verwendest du kein Backup Programm, das in bestimmten Abstaenden das gesammte Projekt sichert?

Ich kann dir den

Qnap Netbak Replicator

empfehlen. Das gibts kostenlos auf der Qnap homepage und funktioniert auch ohne NAS.

baumina 3. Feb 2014 07:21

AW: Ich kapiere das mit dem Speichern nicht
 
Zur Versionsverwaltung hat sich Sebastian kürzlich die Mühe gemacht eine Anleitung zu schreiben, evtl. wäre das für dich eine brauchbare Lösung. http://www.entwickler-ecke.de/viewto...cec502d8666ef8

Erutan 3. Feb 2014 07:24

AW: Ich kapiere das mit dem Speichern nicht
 
Danke Dir.
Ich habe mir das Handbuch eben kurz angeschaut.
Doch, ich verwende eine Backup-Software. Ich verwende Acronis True Image.
Das löst mein Problem aber nicht. Ich habe keine Sorge um einen Datenverlust. Ich möchte mehrere, voneinander unabhängige Versionen meinen Projekts.
Ich möchte, daß Delphi alle benötigten Dateien in ein neues Verzeichnis speichert.

DeddyH 3. Feb 2014 07:26

AW: Ich kapiere das mit dem Speichern nicht
 
Und genau das ist mit einem Versionskontrollsystem eigentlich unnötig, da intern verwaltet. Es gibt einige davon (viele auch OpenSource), eine Empfehlung möchte ich nicht aussprechen. Es müsste dazu aber den einen oder anderen Thread hier geben.

Gutelo 3. Feb 2014 07:33

AW: Ich kapiere das mit dem Speichern nicht
 
Redest du von Dateien, die von allen Versionen genutzt werden?

Die kannst du doch auch in ein separates Verzeichnis legen und die units in der Projektverwaltung jeder Version hinzufuegen

Erutan 3. Feb 2014 07:42

AW: Ich kapiere das mit dem Speichern nicht
 
Ich möchte einfach nur, daß Delphi alle Dateien, die für das Projekt benötigt werden in das Verzeichnis speichert (und auch aus dem Verzeichnis verwendet), in das ich das Projekt speicher.

Beim ersten Speichern tut Delphi das doch auch. Bei allen nachfolgenden "Projekt speichern unter..." tut es das aber nicht mehr. Warum nicht?
Ich möchte keine weitere Software installieren und keine interne Projektverwaltung. Ich möchte, daß alle benötigten Dateien in dem aktuellen Verzeichnis abgelegt werden, so daß ich (theoretisch) auch die alten Verzeichnisse löschen könnte.

baumina 3. Feb 2014 07:49

AW: Ich kapiere das mit dem Speichern nicht
 
Dann kopiere das Projektverzeichnis im Windows-Explorer. Wichtig ist, dass in deinem Projektquelltest keine absoluten Pfade drin stehen.

Gutelo 3. Feb 2014 07:58

AW: Ich kapiere das mit dem Speichern nicht
 
Wie willst du das alles im gleichen Verzeichnis haben und trotzdem verschiedene Versionen des Programms? Dann muesste er alle die Units umbenennen die Versionsabhaengig veraendert wurden.

Es macht keinen Sinn das einfach als neues Projekt im gleichen Ordner abzuspeichern.

Gutelo 3. Feb 2014 08:07

AW: Ich kapiere das mit dem Speichern nicht
 
Jetzt verstehe ich es endlich:

1) du erstellst ein Projekt und speicherst es in Ordner1
2) du fuehrst Aenderungen durch
3) du speicherst das Projekt in Ordner2, aber er speichert die Units nicht ab

Wirf mal einen Blick in die Projektverwaltung. Dort sind die Units mitsamt Pfad eingebunden. Wenn du das Projekt in Ordner2 abspeicherst dann speichert er die Pfade mit und legt die Units nicht neu an.

Wie baumina sagte, im Explorer gesammtes Verzeichnis kopieren und Projekt neu oeffnen. Das ist auch nicht mehr Arbeit, es sei denn du machst alle 10 Zeilen Code eine neue Version

Sherlock 3. Feb 2014 08:21

AW: Ich kapiere das mit dem Speichern nicht
 
Der Aufwand, sowas von Hand zu machen, ist durch nichts, aber auch gar nichts, zu rechtfertigen. Nimm eine der etablierten Versionsverwaltungen. Ganz anders als sonst kosten die guten sogar nichts. In dem Zuge würde ich empfehlen auf eines der moderneren Systeme zu setzen, also Git oder Mercurial. Subversion ist dem allgemeinen Tenor zu folge für Branching nicht so sehr toll.

Sherlock

grizzly 3. Feb 2014 08:31

AW: Ich kapiere das mit dem Speichern nicht
 
Hallo!

Wenn Du Dir die Source-Dateien in ein neues Verzeichnis zum Bearbeiten kopierst, dann kopiere die .dsk Datei nicht mit. Das sollte einen Großteil Deines Ärgers erschlagen. Über diese Datei werden im Editor immer wieder die Dateien aus dem alten Verzeichnis geöffnet.
Die alten Delphi-Versionen haben unter den neuen Betriebssystemen (Windows 7 etc) oft die Angewohnheit, einen beim Öffnen von Dateien nicht in das Verzeichnis zu setzen, das man erwartet. Und wenn man dann im alten Verzeichnis landet, erkennt man das an den Dateinamen nicht.

Gruß
Michael

BUG 3. Feb 2014 08:36

AW: Ich kapiere das mit dem Speichern nicht
 
Zitat:

Zitat von Sherlock (Beitrag 1246463)
In dem Zuge würde ich empfehlen auf eines der moderneren Systeme zu setzen, also Git oder Mercurial. Subversion ist dem allgemeinen Tenor zu folge für Branching nicht so sehr toll.

Vor allem kann mit git und Mercurial auch lokal (ohne Server) arbeiten, was eher dem beschriebenen Einsatzszenario entspricht :thumb:

@Erutan: Gib einer ordentlichen Versionierung eine Chance. Die kurze Einarbeitungszeit lohnt sich.

PMM 3. Feb 2014 10:14

AW: Ich kapiere das mit dem Speichern nicht
 
GExpert hat die gesuchte Funktion: "BackUp Project" nimmt alle verfügbaren Quellen und legt sie, gezippt, in ein frei wählbares Archiv.

Popov 3. Feb 2014 11:29

AW: Ich kapiere das mit dem Speichern nicht
 
@Erutan

Nicht jedes Projekt ist so einfach wie ein Word oder Excel Dokument und besteht nur aus einer einzelnen Datei. Bei Programmen die ihr Projekt auf mehrere Dateien verteilen funktioniert dieses Prinzip nicht. Da führt das "Speichern unter" in der Regel nur dazu, die Projekt Datei anderswo zu speichern. Also nur die Datei die die "Fäden" zusammenhält, nicht alle Teile das Projekts.

Alles im Leben hat seine zwei Seiten und auch dieses Prinzip. "Speichern unter" speichert bei Delphi somit nur die Projekt Datei an einen neuen Ort. Welche Nachteile hat das? Da wären schon mal die, die du erwähnt hast. Die andere Seite: welche Vorteile hat das? Du hast mit den Jahren einige Units erstellt die du immer wieder nutzt. Die sind in einem Ordner. "Projekt speichern unter" kopiert die Datei nicht um, somit gibt es immer nur eine Version davon. Der Nachteil ist eigentlich ein Vorteil, wenn man ihn richtig nutzt.

Ansonsten würde ich dir empfehlen dir ein System der Speicherung zu überlegen. Ich persönlich wende zu hause für kleine Projekte dieses System an (andere machen es anders):
Code:
Gesamtprojektordner
 |
 +-Prog (oder Units)
 |  |
 |  +-Form
 |  +-Unit
 |  +-(...)
 |
 +-(...)
Noch bevor ich die erste Zeile schreibe, wird diese Ordnerstruktur angelegt. Unter Form landen Formularunits, unter Unit andere Units, unter Prog das Projekt. Dann wird unter Projektoptionen unter Ausgabeordner ".." eingegeben. Dadurch landet die Exe unter dem Ordner Prog. Es gibt Leute die haben dafür einen Bin Ordner, hat auch seine Vorteile. Dann kommt in den Progr Ordner noch eine Clean.bat, die die ~ Backups bei Bedarf löscht.

Man kann es vielleicht noch besser machen, aber mir reicht es. Der Vorteil von der Struktur - gelegentlich, wenn ich ein Backup machen will, nehme ich den Ordner Prog, kopiere ihn in den Backupordner, führe die Clean.bat aus und fertig ist ein Backup. Wenn ich gut drauf bin zippe ich das auch noch. Aufwand 15 Sekunden, kein Müll, keine Exe die das Backup unnötig groß macht. Kein extra Backup-Programm.

Ob so oder anders, richtig abgespeichert ist es ein kleiner Aufwand das Projekt zu sichern.

Perlsau 3. Feb 2014 17:57

Warum umständlich, wenn's auch einfach geht?
 
@Erutan

Den ganzen Ärger erspart man sich tatsächlich mit einer Versions-Control-System (VCS). Dieses macht nichts anderes als im selben Verzeichnis (deinem Repository) jeweils genau die Dateien einzuspielen, die zur aktuellen Version gehören. Wechselst du in eine frühere Version, werden genau die zu dieser früheren Version gehörenden Dateien in ihrem damaligen Zustand wieder eingespielt. Hast du dich erst einmal in den Umgang mit einem VCS eingearbeitet, willst du es nicht mehr missen und haust dir an den Kopf, wenn du daran denkst, wie umständlich und fehleranfällig du zuvor gearbeitet hattest. Was dich davon abhält, ein VCS einzusetzen, ist lediglich die nicht gerade flache Lernkurve, die du bewältigen mußt. Doch glaube mir, du tust dir damit wirklich keinen Gefallen.

Popov 3. Feb 2014 19:23

AW: Ich kapiere das mit dem Speichern nicht
 
Wenn so eine Frage nach Projektspeicherung kommt, dann stellt sich die Frage wie groß die Erfahrung mit Delphi allgemein ist. Somit stellt sich auch die Frage wie komplex die Projekte sind und ob ein komplexe Verwaltung nicht ein Overkill wäre. Ok, man kann sich sein Vogelhäuschen auch mit AutoCAD Architecture planen, man kann aber auch sagen, dass es etwas übertrieben ist.

Auf der anderen Seite hat der TE auch geschrieben: "Ich möchte mehrere, voneinander unabhängige Versionen meinen Projekts".

Namenloser 4. Feb 2014 02:29

AW: Ich kapiere das mit dem Speichern nicht
 
Versionsverwaltung lohnt sich immer. Der Aufwand ist doch viel geringer, als Ordner hin- und herzukopieren, selbst bei den einfachsten Dingen schon.

Ich kann mich noch an früher erinnern, als ich nicht wusste, dass es sowas wie Versionskontrollsysteme gibt... wie oft ich mir damit Ärger eingehandelt habe, wenn irgendwo dann doch noch ein absoluter Pfad war und die falsche Datei überschrieben wurde, oder ich versehentlich im falschen Ordner weitergearbeitet hatte und dann das gleiche Zeug doppelt geschrieben habe. Fürchterlich ineffizient. Das wäre heute die Hölle für mich, wenn ich dahin wieder zurück müsste.

Also tu dir einen Gefallen, und installier dir ein Versionskontrollsystem. Ich empfehle TortoiseHg, weil es einfach zu bedienen ist und man sich damit nicht am Anfang ständig in den Fuß schießt wie mit Git.

Es hat sich in einer Stunde armortisiert, das garantiere ich dir.


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