Форум: "Начинающим";
Текущий архив: 2011.12.18;
Скачать: [xml.tar.bz2];
ВнизОтловить закрытие приложения Найти похожие ветки
← →
Gu (2011-09-13 02:07) [0]Есть вот такой dpr
Program My;
uses
MyUnit,
Forms,
Unit1 in "Unit1.pas" {Form1};
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
// !!!
end.
и юнит, который первым инициализируетсяUnit MyUnit; Interface
Uses Forms,Windows,Sysutils,...
...
Procedure ProcBegin;
Procedure ProcEnd;
Implementation
...
Procedure ProcBegin;
begin
...
end;
Procedure ProcEnd;
begin
...
end;
Initialization
ProcBegin;
Finalization
ProcEnd;
end.
Вопрос: как в юните myunit отловить для application событие разрушения или выхода? Т.е. он инициализируется первым и выполняет процедуру ProcBegin, затем инициализируется Application в dpr, после того как приложение закрывают я так понимаю что происходит Application.terminate (в месте //!!!), затем происходит финализация MyUnit (ProcEnd). Т.е. мне надо в юните отловить момент, после Application.Run, как если бы там сразу было написано ProcEnd;
Я пробовал в юните создавать класс
type
TMyAppOnMessage=Class Procedure MyOnMessage(var Msg:TMsg; var Handled: Boolean);End;
var
MyAppOnMessage:TMyAppOnMessage;
<тут процедура MyOnMessage>
и при иницализации (в ProcBegin) присваивать Application.OnMessage:=MyOnMessage;
и пробовать в новой процедуре отлавливать wm_quit, но почемуто такое сообщение там не ловится (а вот для форм норм). Как можно еще отловить в myunit, что процедура Application.Run; завершена?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.12.18;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c