この質問はこの質問に似ていますが、その質問で説明されていない問題について質問しているため、重複していません。
Delphi 7 に、次のディレクトリ構造を持つクライアント サーバー プロジェクトがあります。
\MyApp
\MyClientApp
\MyServerApp
\lib
MyClientApp フォルダーと MyServerApp フォルダーにそれぞれ 1 つずつ、2 つの実際の Delphi プロジェクト (.dpr) があります。
lib フォルダーには、クライアント アプリとサーバー アプリに共通のコードを持つ .pas ユニットがあります。私が疑問に思っているのは、これらの .pas ファイルをクライアント プロジェクトとサーバー プロジェクトに含める必要があるかどうかということです。または、これらのユニットを含む lib フォルダーにパッケージを作成する必要がありますか? または、.pas ファイルを lib フォルダーに置いたままにして、アプリ/パッケージに追加しないようにする必要がありますか?
各アプローチの長所と短所は何ですか? どの方法が「最良」ですか?lib フォルダーのユニットを複数のプロジェクトに含めることに問題はありますか?
現在、lib フォルダー内のユニットはアプリ/パッケージの一部ではありません。これの欠点の 1 つは、たとえば、Delphi でクライアント アプリを開いているときに、プロジェクト内のすべてのファイルで何かを検索したい場合、lib フォルダー内のユニットも検索されないことです。これらのユニットを開いて開いているすべてのファイルで検索を行うか、grep検索を使用することでこれを回避します(ただし、より良い解決策が望ましいです)。
また、lib フォルダー内のファイルに変更を加えたときに、別のパッケージを開いて再コンパイルする必要がないソリューションを大いに好むでしょう (これはプロジェクト グループを使用する必要がある場所ですか?)。