[gelöst]Ordnerstruktur und fremde Units

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Requion
Beiträge: 106
Registriert: Mi 3. Feb 2016, 09:39
OS, Lazarus, FPC: Linux(Arch Linux(+ARM)/Minibian) (L 1.6.0 FPC 3.0.0)
CPU-Target: 32/64Bit,ARM(RPi)
Wohnort: nahe Grimma

[gelöst]Ordnerstruktur und fremde Units

Beitrag von Requion »

Hallo,

ich arbeite gerade an einem kleinen bis mittleren Projekt und mich stört jetzt schon die Unordnung in meinem Projektordner.
Neben ein paar Units und einer Form von mir nutze ich auch mehrere fremde Units (UOS, ID3v2/Mp3FileUtils, später noch eine für GPIO vom RasPi).
Im moment liegt einfach alles in einem Ordner. Außerdem habe ich mehrere .bak Dateien und einen Ordner "Backup" mit den selben .bak Dateien.

Das alles wird mir langsam zu unübersichtlich und ich wollte Fragen ob ihr Empfehlungen bzgl. der Ordnerstruktur habt.
Also zuerst hätte ich gern eine klare Trennung zwischen meinen Units und den fremden Units die ich nutze.
Außerdem würde ich gern Wissen ob ich dabei auf was achten muss. Muss ich irgendwo den Suchpfad anpassen oder kann ich einfach einen Ordner (z.B. "Vendor") erstellen in dem die fremden Dateien drin sind?

Und was hat das mit den .bak Dateien auf sich und wie kann ich das unterbinden bzw. besser ordnen?
Zuletzt geändert von Requion am Do 26. Mai 2016, 23:15, insgesamt 1-mal geändert.
Mfg Requion

Das beste an Standards ist, dass es so viele davon gibt.

Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Ordnerstruktur und fremde Units

Beitrag von Mathias »

Muss ich irgendwo den Suchpfad anpassen oder kann ich einfach einen Ordner (z.B. "Vendor") erstellen in dem die fremden Dateien drin sind?

Genau das ist die Lösung, getrennte Ordner und die Suchpfade anpassen.
Project/Projecteinstellungen/Compilereinstellungen/Pfade/Andere Units/...

Und was hat das mit den .bak Dateien auf sich und wie kann ich das unterbinden bzw. besser ordnen?

Die kann man unterbinden.
Werkzeuge/Einstellungen/Umgebung/Backup/keine Backups
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

wp_xyz
Beiträge: 4889
Registriert: Fr 8. Apr 2011, 09:01

Re: Ordnerstruktur und fremde Units

Beitrag von wp_xyz »

Requion hat geschrieben:Außerdem würde ich gern Wissen ob ich dabei auf was achten muss. Muss ich irgendwo den Suchpfad anpassen oder kann ich einfach einen Ordner (z.B. "Vendor") erstellen in dem die fremden Dateien drin sind?

Wenn du fremden Quellcode verwendest, gehört dazu meistens auch ein Package (*.lpk). Füge das Package dem Projekt hinzu, dann kennt die IDE auch den Pfad und kompiliert die zugehörigen Dateien nicht jedesmal neu mit. Vorher muss das Package mit "Package"/"Package-Datei öffnen" einmalig übersetzt, bei Design-Packages (mit Komponenten) auch in die IDE installiert werden.

Mathias hat geschrieben:
Und was hat das mit den .bak Dateien auf sich und wie kann ich das unterbinden bzw. besser ordnen?

Die kann man unterbinden.
Werkzeuge/Einstellungen/Umgebung/Backup/keine Backups

Naja, das ist etwas für Wagemutige. Ich habe die Backups lieber in einem separaten Ordner: "Werkzeuge" / "Einstellungen" / "Backup" / "gleicher Name im Unterverzeichnis" und bei "Unterverzeichnis" dessen Namen eintragen.

Daneben ist noch ratsam, die compilierten (Hilfs-)Dateien in einem separaten Ordner unterzubringen. Lazarus nennt die manchmal "units", manchmal "lib" - ich nenne sie in meinen eigenen Projekten "ppu". Durch Anhängen von \$(TargetCPU)-$(TargetOS) wird je nach CPU und Betriebssystem ein eigener Ordner angelegt - falls du 32-Bit und 64-Bit Programme für WIndows und Linux erzeugst. Genauso kann man auch einen Ordner "bin" oder "exe" für die exe-Datei angeben. Diese Einstellungen kann man im Projektinspektor unter "Pfade" machen. Auf diese Weise bleibt der Source-Ordner frei von allen anderen Dateien.
Dateianhänge
pfade.png

Requion
Beiträge: 106
Registriert: Mi 3. Feb 2016, 09:39
OS, Lazarus, FPC: Linux(Arch Linux(+ARM)/Minibian) (L 1.6.0 FPC 3.0.0)
CPU-Target: 32/64Bit,ARM(RPi)
Wohnort: nahe Grimma

Re: Ordnerstruktur und fremde Units

Beitrag von Requion »

wp_xyz hat geschrieben:Wenn du fremden Quellcode verwendest, gehört dazu meistens auch ein Package (*.lpk). Füge das Package dem Projekt hinzu, dann kennt die IDE auch den Pfad und kompiliert die zugehörigen Dateien nicht jedesmal neu mit.

Das hab ich ja mit anderen Paketen auch schon gemacht. Aber in meinem speziellen Fall habe ich nun uos und ID3v2. Da gibt es nur die source Dateien sowie Beispiele und bisschen mehr (Readme, Lizenzinfo usw.). Hätte ich eine *.lpk würde ich die zu gern benutzen.

Danke für eure Antworten. Es würde mir ja schon reichen wenn die *.bak Dateien in einem Extra Ordner verschwinden (was sie eigentlich auch tun). Allerdings hab ich im Projektordner selber (wo die .lpr liegt) auch immer wieder solche *.bak Dateien.
Den Ordner für die kompilierten Units hab ich. Der heißt bei mir "lib". Das ist soweit ja in Ordnung.

Danke für den Screenshot @wp_xyz. Ich werd mir das heut abend mal anschauen.
Mfg Requion

Das beste an Standards ist, dass es so viele davon gibt.

wp_xyz
Beiträge: 4889
Registriert: Fr 8. Apr 2011, 09:01

Re: Ordnerstruktur und fremde Units

Beitrag von wp_xyz »

Requion hat geschrieben:
wp_xyz hat geschrieben:Es würde mir ja schon reichen wenn die *.bak Dateien in einem Extra Ordner verschwinden (was sie eigentlich auch tun). Allerdings hab ich im Projektordner selber (wo die .lpr liegt) auch immer wieder solche *.bak Dateien.

Das sehe ich gelegentlich auch. Ich erkläre es mir dadurch, dass ich manchmal mit einer anderen Lazarusversion rangehe und dort vergessen habe, die entsprechenden Backupeinstellungen vorzunehmen. Oder wenn man Quelltext außerhalb der IDE mit einem separaten Editor bearbeitet, muss man bedenken, dass dieser seine eigenen Backup-Vorlieben hat.

Und wenn alle Stricke reißen, gibt es in der IDE auch den Menüpunkt "Datei" / "Verzeichnis säubern", mit dem man aufräumen kann.

Requion
Beiträge: 106
Registriert: Mi 3. Feb 2016, 09:39
OS, Lazarus, FPC: Linux(Arch Linux(+ARM)/Minibian) (L 1.6.0 FPC 3.0.0)
CPU-Target: 32/64Bit,ARM(RPi)
Wohnort: nahe Grimma

Re: Ordnerstruktur und fremde Units

Beitrag von Requion »

Ich bin gerade dabei mein Projekt umzusortieren. Ich habe im Projektordner bisher folgende Struktur:

/Projektordner
-- /compiled -> kompilierte Units
-- /src -> eigener Quellcode
-- /vendor -> fremde Units

Nun hätte ich gern im Ordner "vendor" Unterordner mit den jeweiligen Units, weil uos ja zum Beispiel 14 Dateien sind. Ist das irgendwie möglich das Lazarus im Suchpfad ("vendor") und allen Unterordnern schaut?
Mfg Requion

Das beste an Standards ist, dass es so viele davon gibt.

wp_xyz
Beiträge: 4889
Registriert: Fr 8. Apr 2011, 09:01

Re: Ordnerstruktur und fremde Units

Beitrag von wp_xyz »

Natürlich kannst du Unterordner einbauen. Nur muss jeder Unterordner im Suchpfad eingetragen sein. Das ist bei der Verwendung von Packages nicht der Fall - hier kennt das Package alle Pfade und gibt sie an die IDE weiter.

Requion
Beiträge: 106
Registriert: Mi 3. Feb 2016, 09:39
OS, Lazarus, FPC: Linux(Arch Linux(+ARM)/Minibian) (L 1.6.0 FPC 3.0.0)
CPU-Target: 32/64Bit,ARM(RPi)
Wohnort: nahe Grimma

Re: Ordnerstruktur und fremde Units

Beitrag von Requion »

Okay danke wp_xyz. Dann werd ich wohl die Ordner alle hinzufügen müssen.
Mfg Requion

Das beste an Standards ist, dass es so viele davon gibt.

wp_xyz
Beiträge: 4889
Registriert: Fr 8. Apr 2011, 09:01

Re: [gelöst]Ordnerstruktur und fremde Units

Beitrag von wp_xyz »

Oder - das könnte auch gehen: du schreibst dir ein Package, in das du alle Units von Drittherstellern aufnimmst, die selbst nicht zu einem Package gehören (wie z.B. uos).

Antworten