Этот вопрос похож на this one, но не дубликат, потому что я спрашиваю о проблемах, которые не обсуждались в этом вопросе.В Delphi, следует ли добавлять общие единицы в мои проекты, в общий пакет или ни один из них?
У меня есть проект клиент-сервер в Delphi 7 со следующей структурой каталогов:
\MyApp
\MyClientApp
\MyServerApp
\lib
Есть 2 реальные проекты Delphi (.dpr), по одному в папках MyClientApp и MyServerApp.
В папке lib есть модули .pas, которые имеют общий код для клиентских и серверных приложений. Мне интересно, должен ли я включать эти .pas-файлы в клиентские и серверные проекты? Или я должен создать пакет в папке lib, который включает эти единицы? Или я должен просто оставить файлы .pas, сидящие в папке lib, и не добавлять их в какое-либо приложение/пакет?
Каковы преимущества/недостатки каждого подхода? Какой способ «лучше»? Есть ли проблема с тем, что эти единицы из папки lib будут включены в несколько проектов?
В настоящее время блоки в папке lib не являются частью какого-либо приложения/пакета. Один из недостатков этого заключается в том, что, например, когда у меня есть клиентское приложение, открытое в Delphi, и я хочу искать во всех файлах проекта для чего-то, он также не выполняет поиск в блоках в папке lib. Я обойду это, открыв эти блоки и сделав поиск во всех открытых файлах, или используя поиск grep (но я предпочел бы лучшее решение).
Я также очень предпочел бы решение, в котором мне не нужно будет открывать отдельный пакет и перекомпилировать его, когда я вношу изменения в эти файлы в папке lib (это где я должен использовать группу проектов?).
Хорошая статья; благодаря! – onnodb