На самом деле есть два лагеря, и оба являются правильными.
Первый позволяет приложению управлять ресурсом каждого модуля формы / данных. В этом случае, если основная форма использует модуль данных, его необходимо создать, прежде чем его можно будет использовать. Это хорошо работает для небольших приложений, но при загрузке больших приложений с несколькими формами возникают накладные расходы на загрузку ... однако после загрузки приложения отображение формы происходит практически мгновенно, поскольку она уже создана в памяти. Поскольку каждая форма / ресурс уже создана, при запуске приложения также возникает большой объем памяти. Этот метод используется по умолчанию, и Delphi «ведет» вас, когда вы добавляете в приложение новые формы / модули данных. Если вы не используете модуль данных в OnCreate основной формы, то он может быть ниже в порядке создания, поскольку он не будет вызываться до тех пор, пока не будет запущен Application.Run.
Второй лагерь хочет обработать создание и уничтожение каждого модуля формы / данных (как правило, для всех форм, кроме MainForm). Преимущество этого метода заключается в том, что приложение будет загружаться быстрее и потреблять меньше памяти сразу после запуска. Обычно в этом сценарии это основная форма (или другие формы), которая полностью управляет жизненным циклом каждого модуля формы / данных, который они используют. Этот метод лучше всего подходит для больших приложений с множеством форм.