Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как запустить процесс после закрытия формы? [D5, Win95/98, Win2k]


AM ©   (2003-01-14 17:27:00) 

Всем привет!
Вот Есть у меня Главная родительская форма - fsMDIForm.
Как мне сделать, чтобы после закрытия всех его fsMDIChild запускалась процедурка. Только OnClose на дите не подходит так как надо запустить процедурку не перед закрытием а после.
Как это можно сделать?


AM   (2003-01-14 18:09:00) [1]


Спасибо большое, Skier ©!!!


Skier   (2003-01-14 18:04:00) [2]

процедура PostMessage будет выглядеть так же :
PostMessage(MainForm.Handle, UM_EXEC_PROC, 0, 0)


Skier   (2003-01-14 18:02:00) [3]

>AM
В главной форме ты должен написать
обработчик сообщения UM_EXEC_PROC.
Примерно так :

uses Messages;

const
UM_EXEC_PROC = WM_USER + 1;
//......................

TMainForm = clas(...)
private
procedure UMExecProc(var Message : TMessage); message UM_EXEC_PROC;
//..............
end; //TMainForm

//......................

procedure TForm1.UMExecProc(var Message: TMessage);
begin
//............
ClearAll;
//............
end;


AM   (2003-01-14 17:58:00) [4]

А если не сложно вот есть у меня описанная в Unit-е главной формы процедура ClearAll();
Как тогда будет выглядеть процедура PostMessage(MainForm.Handle, UM_EXEC_PROC, 0, 0)?


Skier   (2003-01-14 17:36:00) [5]

>AM
на OnClose
begin
if Последняя then begin
//Посылаем сообщение главной форме о запуске "процедурки"
PostMessage(MainForm.Handle, UM_EXEC_PROC, 0, 0);
end; //if
//.............
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо