Как предотвратить непредвиденное изменение Delphi в DPR (исходный код проекта) - PullRequest
7 голосов
/ 20 июля 2011

Чтобы поддерживать свой проект, Delphi иногда добавляет или удаляет материал из файла DPR (источник проекта). Мне очень нравится форматировать мои вещи в DPR, как будто это обычный блок, например, чтобы сгруппировать «используемые» ссылки на фреймы и исходные файлы проекта. Я делаю его копии и могу вернуться, когда это произойдет, но время от времени я замечаю, что в DPR все ссылки на исходные файлы разбиты на один блок.

Кто-нибудь еще страдает от этого? Есть ли способ предотвратить это (кроме файла только для чтения). Спасибо

Ответы [ 4 ]

9 голосов
/ 20 июля 2011

Что я делаю для большинства моих проектов, так это чтобы у меня были 2 файла:

  1. MyProgram.dpr
  2. MyProgramUnit.pas

MyProgramUnit имеет открытый метод Main, который содержит всю логику из .dpr (включая любые условные определения)

MyProgram просто звонит Main.

Редактировать 1:

Вы можете поместить списки пользователей в MyProgramUnit.pas, но они не станут автоматически частью вашего проекта. Это может быть или не быть проблемой, это зависит от того, хотите ли вы, чтобы Delphi находил объекты в пути поиска, или добавлял файлы в ваш проект, чтобы сделать их видимыми.

Что вы можете сделать, так это документировать списки пользователей в MyProgramUnit.pas и сгруппировать их по причинам. Это то, что я обычно делаю в большинстве устройств, а не только в основном устройстве.

Редактировать 2:

Не иди {$I MyIncludeFile.inc}.
Delphi - особенно IDE - плохо работает с подключаемыми файлами. Завершение кода и т. Д. Не срабатывают в нерегулярных местах.

В прошлом я много занимался включением файлов; уже не так. Я даже перестал использовать их для определений и перешел с {$IFDEF define} ... {$ENDIF} на {$IF Constant1 >= Constant2} ... {$IFEND}.

7 голосов
/ 20 июля 2011

.dpr - это обычный файл Delphi, хорошо, но как только он открывается в IDE, он более или менее «принадлежит» IDE. Невозможно остановить IDE от добавления или удаления кода из него, когда IDE считает это необходимым (например, когда вы добавили модуль, изменили некоторые настройки и т. Д.). Это также может означать, что он переформатирует части кода.

Если вы хотите «неизменный» код, поместите его в единицу.

1 голос
/ 20 июля 2011

Я думаю, что Руди правильно понял.

IMO, разумнее держать руки подальше от блока использования dpr в редакторе - менеджер проектов предназначен для этого - вручную вы можете испортить настройки вашего проекта и внести некоторые трудно выявляемые ошибки в больших проектах , Что касается форматирования, в Delphi XE есть автоформат, который сделает весь ваш проект и настраивается.

Я часто редактирую раздел 'program' программы dpr (который также требует некоторых знаний и осторожности), но не блок using.

Еще один момент: кое-что из того, что происходит в dpr, можно контролировать в настройках вашего проекта.

НТН

0 голосов
/ 28 сентября 2012

Лично я делаю копию своего предложения об использовании в гигантском комментарии в конце моего файла DPR.Поэтому, когда Delphi модифицирует его, я «восстанавливаю» его из комментария.Конечно, я должен быть осторожен с тем, чтобы поддерживать свои комментарии об использовании в актуальном состоянии.

Примечание: я использую внешние инструменты, которые сканируют файл проекта, поэтому я не могу использовать подход «внешнего блока», хотякажется самым чистым решением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...