Как в TForm.OnDestroy сделать ShowMessage?

garrik
Дата: 16.11.2007 11:16:36
procedure TfmMain.FormDestroy(Sender: TObject);
begin
ShowMessage('OnDestroy'); // а ничего не показывает
end;
Entaro Adun
Дата: 16.11.2007 11:26:37
MessageBox(Application.Handle,PAnsiChar('OnDestroy'),PAnsiChar('OnDestroy'),MB_OK or MB_ICONEXCLAMATION );
Alex_soldier
Дата: 16.11.2007 11:29:01
Такое не подойдет?

procedure  TfmMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  ShowMessage('Осторожно! Форма закрывается!');
end;
Entaro Adun
Дата: 16.11.2007 11:30:58
Alex_soldier
'Осторожно! Форма закрывается!'

garrik
Дата: 16.11.2007 11:40:19
Entaro Adun
MessageBox(Application.Handle,PAnsiChar('OnDestroy'),PAnsiChar('OnDestroy'),MB_OK or MB_ICONEXCLAMATION );


WinAPI - это хорошо.

Но мне в перспективе надо сделать:

procedure fmMain.OnDestroy(Sender: TObject);
var fm: TfmUpdate;
begin
  fm := TfmUpdate.Create(Application);
  fm.Show;
end;

OnCloseQuery не подходит.
Entaro Adun
Дата: 16.11.2007 11:51:04
garrik
Но мне в перспективе надо сделать:
procedure fmMain.OnDestroy(Sender: TObject);
var fm: TfmUpdate;
begin
  fm := TfmUpdate.Create(Application);
  fm.Show;
end;

Я не понимаю зачем вам такой изврат нужен,но если хочется поизвращатся,то
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Form1.ShowModal;
  Application.CreateForm(TForm2, Form2);
  Form2.ShowModal;
//  Application.Run;
end.
:)
StarWind
Дата: 16.11.2007 11:54:25
Минуточку, я что-то не понимаю или... Насколько я знаю при закрытии главной формы приложения, последнее тоже закрывается. Или название TfmMain сделано чтоб ввести в заблуждение потенциального противника?
OracleX
Дата: 16.11.2007 11:55:58
garrik
OnCloseQuery не подходит.
Почему же OnDestroy подходит?
Entaro Adun
Дата: 16.11.2007 11:58:59
OracleX
Почему же OnDestroy подходит?

Наверное что-бы "наверняка"...
Альт
Дата: 16.11.2007 12:08:04
Alex_soldier
Такое не подойдет?

procedure  TfmMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  ShowMessage('Осторожно! Форма закрывается!');
end;


это прям как в одном смешном "ядре"... на сообщение сервера программа делает следующее:
Application->Restore();
Application->MainForm->SetFocus();
Application->MainForm->Update();
CreateMessage("Сообщение Администратора","Приложение будет закрыто чере 5 секунд...");
Sleep(5000);
CloseMessage();
Application->Terminate();
ну хоть почитать дают... )