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

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

Как повесить на одно событие 2 метода.


Smit_ ©   (2002-11-26 22:38:00) 

Можно ли сделать чтобы на Exit(какое-то событие) вызывалось 2 метода. Только пожалуйста не надо спрашивать зачем.

type

TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure CustomExit(Sender: TObject);
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.OnExit := CustomExit;
end;

procedure TForm1.Edit1Exit(Sender: TObject);
begin
ShowMessage("Edit1Exit");
end;

procedure TForm1.CustomExit(Sender: TObject);
begin
ShowMessage("CustomExit");
end;

end.


smit_   (2002-11-27 09:08:00) [1]

AK-74
Спасибо, то что надо.


AK-74   (2002-11-27 02:00:00) [2]

Скорее всего здесь идет речь о встраивании дополнительного обработчика в рантайме. Что-то типа:

var
OldHandler: procedure;

procedure TForm1.CustomExit(Sender: TObject);
begin
ShowMessage("CustomExit");
if @OldHandler <> nil then
OldHandler;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
OldHandler := @Edit1.OnExit;
Edit1.OnExit := CustomExit;
end;


Kotka   (2002-11-26 23:26:00) [3]

А что, в первой процедуре вызывать вторую нельзя?


Наверх

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