Hallo, ich habe noch nicht so viele Projekte in Lazarus gemacht (ca 20) und wenn dann war mir das Problem Ordner/Projekt/Sourcefile-Namen nicht so wichtig. Jetzt aber doch mal.
Ich habe ein Projekt A mit ein paar Units, Hauptprogramm, Forms und Sqlite. Ich möchte einen Clone davon erstellen, der aber B heißt und komplett eigenständig ist, weil A und B später ganz anders aussehen werden.
Ich habe gemacht: Projekt speichern unter B, den Ordner hatte ich mir vorher schon erstellt. Lazarus legt auch die Projektdateien dort an mit dem richtigen Namen B. Was fehlt sind die ganzen anderen Dateien, Units, Forms, Quelltexte. Der Projektinspektor sagt mir, er zieht nach wie vor die aus dem Verzeichnis A an, was mir natürlich nicht gefällt. Muß ich die alle händisch umbauen (die Units und Forms und Quelltexte können erstmal ihre Namen behalten aber zB die main heißt auch noch A_main.pas). Oder gibt es eine automatische Lösung, die ich nur nicht finde. Die Quelltexte selber kann ich ja im Windows, außerhalb Lazarus, kopieren und das eine umbenennen. Aber wie bekomme ich das Projekt sauber "kopiert/umbenannt"?
[gelöst] Wie am besten ein Projekt kopieren mit Umbenennen?
[gelöst] Wie am besten ein Projekt kopieren mit Umbenennen?
Zuletzt geändert von alfware17 am Mi 26. Apr 2023, 21:36, insgesamt 1-mal geändert.
Re: Wie am besten ein Projekt kopieren mit Umbenennen?
Hast du es schon einmal mit Projekt -> Veröffentlichen probiert?
Ich glaube das macht eine recht saubere Kopie ohne alte Pfade.
Ich glaube das macht eine recht saubere Kopie ohne alte Pfade.
Re: Wie am besten ein Projekt kopieren mit Umbenennen?
Ich mache dasselbe manchmal mit Beispielprojekten fürs Forum: Das Projekt suchen, das meiner Absicht nahekommt. Den zugehörigen Ordner im Betriebssystem unter neuem Namen kopieren. In der IDE das Projekt aus dem neuen Ordner laden und unter dem neuen Namen speichern (aber in dem neuen Ordner bleiben!). Falls die Units ebenfalls umbenannt werden sollen, jede Unit in die IDE laden und unter dem neuen Namen speichern, die Frage, ob die alte Datei gelöscht werden soll, bejahen. Im Betriebssystem kann man dann noch die Reste des alten Projektnamens im neuen Ordner löschen.alfware17 hat geschrieben: Mi 26. Apr 2023, 16:35 Ich habe ein Projekt A mit ein paar Units, Hauptprogramm, Forms und Sqlite. Ich möchte einen Clone davon erstellen, der aber B heißt und komplett eigenständig ist, weil A und B später ganz anders aussehen werden.
Das, was du gemacht hast, ist gefährlich. Denn es besteht die Gefahr, dass bei der Kopieraktion die Bezüge auf die Units geändert werden, und als folge könnte das alte projekt nicht mehr funktionieren! Also so immer: zuerst im Betriebssystem den Ordner kopieren und nur noch in dem kopierten Ordner arbeiten.
Re: Wie am besten ein Projekt kopieren mit Umbenennen?
Aha, so rum die Reihenfolge, erst Dateien kopieren und dann das Projekt kopieren/umbenennen. Danke für die schnelle Antwort. Ich habe im neuen Ordner (B) erst die Projektumbenennung gemacht, dann die alten (A) Projektdateien gelöscht und mußte nur die eine Datei A_main.pas per Hand anpassen in B_main.pas, aber damit kann ich leben.
Jetzt habe ich keine Pfade mehr zu den Sourcen im Projektinspektor gesehen, die waren wahrscheinlich durch das (erst) Umbenennen des Projektes gleich in den neuen Ordner angelegt worden, während das alte A ja noch offen war. Das muß man aber erst einmal wissen.
P.S. Das Veröffentlichen entfällt damit, ich habe ja nun alles korrekt im Ordner B und kann die Version B* von heute nachmittag löschen
Jetzt habe ich keine Pfade mehr zu den Sourcen im Projektinspektor gesehen, die waren wahrscheinlich durch das (erst) Umbenennen des Projektes gleich in den neuen Ordner angelegt worden, während das alte A ja noch offen war. Das muß man aber erst einmal wissen.
P.S. Das Veröffentlichen entfällt damit, ich habe ja nun alles korrekt im Ordner B und kann die Version B* von heute nachmittag löschen
Re: Wie am besten ein Projekt kopieren mit Umbenennen?
Genau. Wenn du zuerst das Projekt in einen neuen Ordner kopierst, werden im neuen Projekt Pfade zu den Units eingetragen, weil diese ja noch im alten Ordner liegen. Aber wenn du dann die Units lädst und mit der IDE in den neuen Ordner speicherst, werden die Pfade wieder entfernt, weil die Units nun direkt im Projektordner liegen. Manchmal ist es ganz schön beeindruckend, was die IDE da alles erkennt. Dennoch: Ich habe mir auf diese Weise etliches an Mehrarbeit erzeugt, wenn dennoch ein Fehler passiert. Daher kopiere ich lieber zuerst alles außerhalb der IDE und arbeite nur noch im kopierten Verzeichnis. Sinnvoll auch vom Backup-Gedanken her - kein Backup, kein Mitleid.alfware17 hat geschrieben: Mi 26. Apr 2023, 21:30 Jetzt habe ich keine Pfade mehr zu den Sourcen im Projektinspektor gesehen, die waren wahrscheinlich durch das (erst) Umbenennen des Projektes gleich in den neuen Ordner angelegt worden, während das alte A ja noch offen war. Das muß man aber erst einmal wissen.
- af0815
- Lazarusforum e. V.
- Beiträge: 6872
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Wie am besten ein Projekt kopieren mit Umbenennen?
Das das mit dem Kopieren außerhalb der IDE, kann ich nur bestätigen das das der beste Weg ist. Man sollte sein Projekt schön als Struktur organisiert haben, dann geht das ohne Probleme. Damit kann man quasi das alte Projekt als Blaupause (wer das nicht mehr kennt - nimm en Begriff -> Vorlage) nehmen. Dem Projekt (oder Units)einen neuen Namen geben etc., dann aber innerhalb der IDE. Es gibt in der IDE einen Fehler seit ewigen Zeiten:wp_xyz hat geschrieben: Mi 26. Apr 2023, 22:56Daher kopiere ich lieber zuerst alles außerhalb der IDE und arbeite nur noch im kopierten Verzeichnis. Sinnvoll auch vom Backup-Gedanken her - kein Backup, kein Mitleid.
Wenn man dem Projekt einen neuen Namen gibt über SaveAs: Ist das Ausgabevnamen des Kompilats in einem anderen Verzeichnis und du hast mehrere Buildmodes angelegt, so wird das in den nicht aktiven Buildmodes überschrieben und ist anschließend falsch. Da zerstört die IDE die alten Informationen. Beispiel, habe ich in einem Buildmode als Targetfilename "..\RasPi\testprg" und in einem anderen Buildmode ..\win\testprg.exe" und der erste Buildmode ist aktiv, so wird der Targetfilename von win auf RasPi in allen andern Buildmodes überschrieben.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- corpsman
- Lazarusforum e. V.
- Beiträge: 1636
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: [gelöst] Wie am besten ein Projekt kopieren mit Umbenennen?
Also zum veröffentlichen meiner Projekte auf Github nutze ich den ProjectCollector dieser Kopiert mir alle Projekt relevanten Programmteile in ein Verzeichnis, welches ich dann auf Github hoch laden kann.
Den Weg zurück gibt es auch: ProjectUnCollector
Den am Samstag auf dem Lazarus treffen vorgestellten FPC-Understand ( ̶n̶o̶c̶h̶ ̶n̶i̶c̶h̶t̶ ̶ö̶f̶f̶e̶n̶t̶l̶i̶c̶h̶ ̶z̶u̶g̶ä̶n̶g̶l̶i̶c̶h̶ [Link] ) nutze ich dann um die fehlenden Inclusionen und Abhängigkeiten auf zu lösen
[Edit]
Link eingefügt.
Den Weg zurück gibt es auch: ProjectUnCollector
Den am Samstag auf dem Lazarus treffen vorgestellten FPC-Understand ( ̶n̶o̶c̶h̶ ̶n̶i̶c̶h̶t̶ ̶ö̶f̶f̶e̶n̶t̶l̶i̶c̶h̶ ̶z̶u̶g̶ä̶n̶g̶l̶i̶c̶h̶ [Link] ) nutze ich dann um die fehlenden Inclusionen und Abhängigkeiten auf zu lösen

[Edit]
Link eingefügt.
--
Just try it
Just try it