Передаче в параметрах процедуры другой процедуры

  • Автор темы Автор темы VahaC
  • Дата начала Дата начала
V

VahaC

Возможно из темы ничего не понятно тогда извините иначе сформулировать не смог.
Ситуация следующая :
есть две процедуры вида
procedure test(m:string; i: Integer);
procedure Button1Click(Sender: TObject);
....

Procedure TForm1.test(m:string; i: Integer);
begin
....
end;

Procedure TForm1.Button1Click(Sender: TObject);
begin
DBMemo1.Text:=DBMemo1.Text+((Sender as TMenuItem).Caption);
end;

возможно ли передать процедуру Button1Click(Sender: TObject); в качестве
параметра процедуре test(m:string; i: Integer); с сохранением её работо способности.
Если да то плиз напишите как. :D
 
Код:
...
type
TObjectProc = procedure(sender: TObject) of object;
...

procedure test(proc: TObjectProc; m: integer; s: string);

Для вызова просто пишешь внутри test
Код:
proc(self);
ну или что там хочешь передать вместо self
 
А для чего так делать? метод обработки нажатия на кнопке является Published, т.е. он виден для других методов данного класса.
 
Ну иногда передача функции полезна .. например часто используется в плагинной архитектуре...
 
Barmutik - Сенкс
DIR3ct0r - Лично мне ето нужно для написания универсального обработчика событий динамически создаваемого меню
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab