Статья, на которую вы ссылаетесь, неверна.Существует ряд веских причин, по которым вы хотите использовать несколько вызовов Application.CreateForm
1) Модули данных: вы, вероятно, хотите, чтобы они были доступны постоянно.Лучший способ сделать это - Application.CreateForm.Я знаю о приложениях с несколькими тематическими модулями данных, например, Customer, Invoice, Address, чтобы обрабатывать различные области базы данных и аккуратно инкапсулировать функциональность.Все они созданы в .dpr
2) Большие, медленно загружаемые вещи (что само по себе является плохой идеей, но такие вещи случаются и часто наследуются программистами поддержки ...).Переместите время загрузки в запуск приложения точно так же, как ваш пример кода, вместе с обновлением заставки.Пользователи ожидают, что запуск приложений займет некоторое время, благодаря активным усилиям наших коллег, работающих над Microsoft Office, снизить планку ожиданий для остальных из нас:)
Итак,Таким образом, не беспокойтесь, ваш код в порядке - но вы можете потерять материал "FreeAndNil".Тем не менее, небольшие быстрые нажатия типа Dialog лучше всего вызывать:
with TMyform.Create(nil) do
try
//Setup
case ShowModal of
// Whatever return values you care about (if any)
end;
finally
Free;
end;
Коротко, мило, точно и минимизирует использование памяти ...