Каков правильный способ динамического создания / выпуска форм времени выполнения?

Я всегда стараюсь создавать свои приложения с учетом использования памяти, если она вам не нужна, не создавайте ее, как я на это смотрю.

В любом случае, возьмите следующее в качестве примера:

Form2:= TForm2.Create(nil);
try
  Form2.ShowModal;
finally
  Form2.FreeOnRelease;
end;

На самом деле я думаю, что Form2.Destroy, вероятно, лучший вариант, что подводит меня к моему вопросу ..

В чем разница между вызовом:

Form2.Destroy;
Form2.Free;
Form2.FreeOnRelease;

Все они выполняют одинаковую или похожую работу, если только я чего-то не упускаю.

А также, когда следует использовать что-либо из вышеперечисленного? Очевидно, что при освобождении объекта я понимаю это, но в некоторых ситуациях Уничтожить лучше подходит, чем, например, Бесплатно ?

17
задан 10 June 2011 в 18:41
поделиться