Как работать с событиями в delphi без кода в обработчике? Нужно, сделать, чтобы при нажатии кнопки на форме, запускался метод моего класса.
Находил много подобных примеров для C#, а по delphi очень мало информации.

21 Авг 2019 в 07:02
186 +1
0
Ответы
1

В Delphi также можно использовать события для выполнения определенных действий при возникновении определенного события, например, при нажатии кнопки на форме. Для этого нужно создать свое собственное событие и привязать его к методу вашего класса.

Пример:

Создайте новый класс, в котором будет определен метод, который вы хотите вызвать при возникновении события:type
TMyClass = class
public
procedure MyMethod;
end;
implementation
procedure TMyClass.MyMethod;
begin
ShowMessage('Метод класса выполнен');
end;

Создайте новую форму и определите на ней кнопку:

В области строгого защищенного доступа определите новый тип события:

type
TMyEvent = procedure of object;Добавьте приватное поле класса TMyClass, где будет храниться ссылка на метод, который нужно вызвать:type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
FMyClass: TMyClass;
end;Реализуйте обработчик события, который будет вызывать метод класса:procedure TForm1.Button1Click(Sender: TObject);
begin
if Assigned(FMyClass) then
FMyClass.MyMethod;
end;В конструкторе формы создайте объект вашего класса:constructor TForm1.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FMyClass := TMyClass.Create;
end;Добавьте метод SetMyEvent, который будет привязывать метод класса к событию:procedure TForm1.SetMyEvent(AMyEvent: TMyEvent);
begin
if Assigned(AMyEvent) then
FMyClass.MyMethod := AMyEvent;
end;Используйте этот метод для привязки метода вашего класса к событию кнопки:procedure TForm1.FormCreate(Sender: TObject);
begin
SetMyEvent(FMyClass.MyMethod);
end;

Теперь при нажатии на кнопку на форме будет вызываться метод вашего класса.

20 Апр в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 91 947 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир