Когда я должен добавить ссылку на файл на проект Delphi?

Файлы единицы для стандартных файлов VCL как Диалоговые окна, на StringUtils и т.д. никогда не ссылаются в файле DPR проектов. Но когда я должен добавить ссылку на файл DPR? Теперь у меня есть собственные исходные файлы и источник собственных компонентов.

Что относительно исходных файлов для Ravereport, Devexpress, Инди, Gnostice и т.д.? Я хочу максимально быстрый codeinsight, но конечно я не хочу добавлять чрезмерное увеличение размера к файлу DPR. Я использую Delphi 2007

См. также этот вопрос для связанной проблемы.

С уважением

6
задан Community 23 May 2017 в 12:23
поделиться

3 ответа

Я всегда добавляю все свои собственные единицы кода, которые использует проект, в предложение dpr uses. Модули VCL и модули из сторонних библиотек добавляются только по мере необходимости. Таким образом, путь к библиотеке проекта содержит только пути к vcl и сторонним библиотекам.

Хотя для проекта не требуется компилировать, чтобы добавить все ваши модули в dpr проекта, и это немного лишняя работа, он делает зависимости явными и помогает избежать проблем, вызванных неявным использованием возможно "старых" dcu скрывается на пути к библиотеке.

Также помогает использование одного и того же юнита с разным содержанием для разных проектов. Полезно для кода конкретного проекта, используемого совместно используемым модулем. Разделяемый модуль просто использует «unit1», а dpr сообщает, какой именно. Более явный и менее подверженный ошибкам, чем использование пути к библиотеке.

dpr проекта также всегда включает путь ко всем используемым компонентам, vcl или сторонним. Путь к библиотеке в параметрах моей среды пуст. Он даже не содержит путей к vcl. Это может быть немного ott (наверху), но эй, это легко проверить ...

Опять же, это помогает сделать зависимости явными, и когда вы используете свою собственную переменную среды в путях, например $ (MVC ) \ ComponentName \ Source, это также помогает при переносе вашего кода на другую машину. Единственное, что мне нужно сделать, это скопировать партию (или перенести ее на USB-накопитель) и установить переменную среды MVC в IDE Delphi.И я могу быть уверен, что все, что установлено на другой машине, не помешает при сборке моего проекта.

7
ответ дан 10 December 2019 в 02:43
поделиться

Вам нужно (и следует) добавлять ссылки только на те вещи в вашем ДПР, которые ваш ДПР действительно использует. Например, если вы пишете тестовый проект (проект, содержащий тестовый код для вашего проекта), вы можете добавить GuiTestRunner или TextTestRunner (для DUnit):

program MyTest;

uses
  all.pas in 'src\all.pas',
  your.pas in 'src\your.pas',
  project.pas in 'test\projects.pas',
  units.pas in 'test\units.pas',
  TextTestRunner;

var
  R: TTestResult;

begin
  R := TextTestRunner.RunRegisteredTests;
  ExitCode := R.ErrorCount + R.FailureCount;
end.

В противном случае, при использовании Indy или других сторонних модулей, просто ссылайтесь на них в модулях, которые действительно их используют.

1
ответ дан 10 December 2019 в 02:43
поделиться

Я добавляю как можно меньше модулей в .dpr. Это потому, что мне не нравится прописывать там жестко закодированные пути, а с относительными путями иногда возникают странные ошибки (как описано здесь), и это оставляет мне возможность относительно свободно перемещаться по коду.

Однако я не часто просматриваю юниты через инспектор проекта, в основном я перемещаюсь по юнитам с помощью ctrl-enter, открывая юниты. Моему коллеге пришлось долго привыкать к этому, так что это может быть невыполнимо для команды, которая любит мышь.

1
ответ дан 10 December 2019 в 02:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: