Ответ на вопрос из мини чата от "Mr-Freeman" 
 Как сделать что бы при закрытии формы1 при том что есть форма2 форма2 не закрывалась то-же? 
 Объясняю: OnDestroy вызывается в момент разрушения формы. и тут надо знать порядок вызова этих событий 
 OnCloseQuery -> OnClose -> OnDeactivate -> OnHide -> OnDestroy 
 все, что нужно обрабатывать при попытке закрытия формы, делается в OnCloseQuery. при этом у процедуры есть параметр запрещающий закрытие если задать CanClose:=false; 
 вот так должна быть написана процедура для первой формы 
 Code
 
 procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); 
 begin 
 CanClose := false; 
 form1.hide ; 
 form2.show; 
 end; 
 
 Автор: Apofiz для сайта www.delphi-lubitel.ucoz.ru