Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Изменение адреса метода формы

476
25 января 2003 года
man2002ua
218 / / 16.10.2002
сабж
Причем не published!

Например есть две пользовательские процедуры

procedure TForm1.Aproc;
begin
Close;
end;

procedure TForm1.Bproc;
begin
Caption := 'Cannot close';
end;

Необходимо, чтобы при вызове Aproc вызывалась Bproc.
1.8K
02 февраля 2003 года
Blackvic
43 / / 03.12.2002
Цитата:



Может такой вариант тебя устроит:

type

// объявление типа заменяемой функции
TFunction = function (Sender : TObject): integer of object;

TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
fn : TFunction;

// опимание 2-х различных функций удовл. формату TFunction
function A (Sender : TObject): integer;
function B (Sender : TObject) : integer;
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

{ TForm1 }

function TForm1.A(Sender: TObject): integer;
begin
Halt(0);
end;

function TForm1.B(Sender: TObject): integer;
begin
ShowMessage('Cannot close');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
fn := B;
fn(Nil);
fn := A;
fn(Nil);
end; :)

476
03 февраля 2003 года
man2002ua
218 / / 16.10.2002
Да, спасибо!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог