Ты неправильно понял. У формы есть два разных обработчика закрытия - OnClose и OnCloseQuery.
Тебе нужно использовать последний.
Например:
Код:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:=False;//Не дадим окну закрыться
SaveSomthingToFile;//Пишем что-то в файл
CanClose:=true;//Теперь можно закрывать
end;