![]() |
Was macht "Projekt bereinigen" eigentlich?
Ich lösche eine Unit (die von anderen Units verwendet wird) von der Platte und entferne es aus dem Projekt.
Das Projekt kompiliert weiterhin. Ich mache "Projekt bereinigen" Das Projekt kompiliert weiterhin. Ich lösche über Windows alle .dcu-Dateien die ich finden kann. Das Projekt kompiliert nicht mehr. Wozu ist "Projekt bereinigen" eigentlich gut, wenn nicht hierfür? Was übersehe ich? |
AW: Was macht "Projekt bereinigen" eigentlich?
Die Doku ist da offenbar nicht exakt genug:
Zitat:
|
AW: Was macht "Projekt bereinigen" eigentlich?
Habe es gerade nochmal an einem Testprojekt ausprobiert und das scheint tatsächlich so zu sein:
1. .pas-Datei aus Projekt entfernt 2. .dcu existiert noch 3. Projekt bereinigen: Löscht .dcu-Datei nicht 4. Andere Units: Verwenden .dcu-Datei fröhlich weiter Dann muss ich mir in Zukunft merken: "Wenn ich eine Unit entfernen will: Erst Projekt bereinigen, dann Unit entfernen". Schön ist das nicht, aber wenigstens weiß ich jetzt weshalb das so ist. |
AW: Was macht "Projekt bereinigen" eigentlich?
Und / Oder eine BatchDatei Clean.bat bauen ...
|
AW: Was macht "Projekt bereinigen" eigentlich?
Zitat:
|
AW: Was macht "Projekt bereinigen" eigentlich?
Bin mit Delphi nicht vertraut. "Lazarus" hat auch ein "Projekt bereinigen". Dieses löscht alle nicht-benötigten Dateien im Projektverzeichnis u.a. auch Dateien die nicht explizit im Projekt hinzugefügt worden sind. Evtl. ist das aber nicht immer gewollt, wenn z.B. zusätzliche JPG, Textdateien o.ä. oder andere selbst angelegte Dateien im Projektverzeichnis liegen. Ist dann etwas ärgerlich wenn diese Dateien weg sind und eigentlich doch benötigt worden sind.
Wenn das bei Delphi ähnlich ist, sollte man das im Hinterkopf haben oder wirklich jede Datei dem Projekt hinzufügen (bzw. Backups machen). |
AW: Was macht "Projekt bereinigen" eigentlich?
... oder dem Versionskontrollsystem hinzufügen.
|
AW: Was macht "Projekt bereinigen" eigentlich?
Letztendlich wird doch nur MSBuild aufgerufen mit dem entsprechenden Target.
Wenn ihr nun die PAS-Datei entfernt, dann gibt es auch keine Referenz mehr auf die Datei. Somit kann das CLEAN Target diese nicht löschen. Schaut euch einfach mal eine .DPROJ Datei im Notepad oder ähnlich an. Das ist eine MSBUILD Datei. In den Delphi Ordnern sind dann noch .TARGET Dateien versteckt, welche weitere Anweisungen für MSBUILD enthalten. |
AW: Was macht "Projekt bereinigen" eigentlich?
Es bleibt halt immer die Frage wem man beim Aufräumen am meisten vertraut:
der IDE (nö), Lazarus (?), GEXperts (schonmal sehr gut), Kastri TOTAL CLEAN, GIT (?), ... Ich bleibe da lieber bei meiner eigenen Batch-Datei und etwas Disziplin, da weiss ich wenigstens genau was passiert :stupid: Vor einem Release werden einmal ALLE "Leichen" aufgeräumt (und das können auch andere, eigene Files sein). Ausserdem ist es dann Build-System freundlicher. |
AW: Was macht "Projekt bereinigen" eigentlich?
Zitat:
Jupp, in der DPROJ werden die/einige der "erzeugten" Dateien mit aufgelistet. Und darüber werden (nur) diese Dateien dann auch gelöscht. (was da nicht din steht, wird auch nicht "bereinigt") |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:26 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