Diese Frage ist ähnlich wie this one, aber kein Duplikat, weil ich Fragen über Fragen, die nicht in dieser Frage diskutiert werden.In Delphi, sollte ich geteilte Einheiten zu meinen Projekten, zu einem geteilten Paket hinzufügen, oder zu keinem?
Ich habe ein Client-Server-Projekt in Delphi 7 mit der folgenden Verzeichnisstruktur:
\MyApp
\MyClientApp
\MyServerApp
\lib
Es gibt zwei aktuelle Delphi-Projekte (.dpr), jeweils in der MyClientApp und MyServerApp Ordnern.
Der lib-Ordner enthält .pas-Einheiten, die einen gemeinsamen Code für die Client- und Server-Apps haben. Ich frage mich, ob ich diese .pas-Dateien in die Client- und Server-Projekte aufnehmen sollte? Oder sollte ich ein Paket im lib-Ordner erstellen, der diese Einheiten enthält? Oder sollte ich die .pas-Dateien einfach im lib-Ordner belassen und sie keiner App/keinem Paket hinzufügen?
Was sind die Vor-/Nachteile jedes Ansatzes? Welcher Weg ist "der Beste"? Gibt es ein Problem damit, diese Einheiten aus dem lib-Ordner in mehr als ein Projekt aufzunehmen?
Momentan sind die Einheiten im Ordner lib nicht Bestandteil einer App/eines Pakets. Ein Nachteil davon ist, dass, wenn ich meine Client-Anwendung beispielsweise in Delphi geöffnet habe und ich in allen Dateien im Projekt nach etwas suchen möchte, nicht auch in den Einheiten im lib-Ordner suche. Ich komme dazu, indem ich diese Einheiten öffne und einen Fund in allen offenen Dateien mache oder die grep Suche benutze (aber ich würde eine bessere Lösung bevorzugen).
Ich würde auch eine Lösung bevorzugen, wo ich nicht gehen und ein separates Paket öffnen und neu kompilieren muss, wenn ich Änderungen an diesen Dateien im lib-Ordner mache (soll ich eine Projektgruppe verwenden?).
Schöner Artikel; Vielen Dank! – onnodb