Как в событии нажатия одной кнопки вызвать событие другой

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Аватара пользователя
BamsikPotapov
новенький
Сообщения: 55
Зарегистрирован: 31.12.2011 19:30:39
Откуда: Меня в капусте нашли

Как в событии нажатия одной кнопки вызвать событие другой

Сообщение BamsikPotapov »

Все элементарно мне нужно при нажатии на 1 кнопку выполнить действия определенные, их я написал в событии(OnClick)
при нажатии на 2 кнопку выполнить действия + событие нажатия на кнопку 1.
У меня это не получается, я немного разобрался с классами, но именно это сделать не могу.
Создание вспомогательной процедуры не предлагайте я уже так попробовал все работает, но в будущем такой способ меня не устраивает, так как я сам себя таким способом буду путать.
Все мои попытки заканчиваются ошибкой, что-то не так с параметром или их количесвтом.
Заранее спасибо.
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

Код: Выделить всё

procedure TForm1.Button1Click(Sender: TObject);
begin
  ...
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  ...
  Button1Click(Self);
  ...
end;
Аватара пользователя
BamsikPotapov
новенький
Сообщения: 55
Зарегистрирован: 31.12.2011 19:30:39
Откуда: Меня в капусте нашли

Сообщение BamsikPotapov »

Спасибо, ща попробую.
Объясни что значит self ну так в двух словах, если не трудно.
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

Self - указатель на самого себя. В данном случае это указатель на экземпляр класса TForm1 и равен он Form1.

Код: Выделить всё

type
  TClass1 = class
    procedure Proc1;
  end;


  TClass2 = class
    procedure Proc1;
  end;

var
  v1: TClass1;
  v2: TClass2;

procedure TClass1.Proc1;
begin
  self // Указатель на экземпляр класса TClass1 и равен v1
end;

procedure TClass2.Proc1;
begin
  self // Указатель на экземпляр класса TClass2 и равен v2
end;

...
  v1:=TClass1.Create;
  v2:=TClass2.Create;

Аватара пользователя
BamsikPotapov
новенький
Сообщения: 55
Зарегистрирован: 31.12.2011 19:30:39
Откуда: Меня в капусте нашли

Сообщение BamsikPotapov »

Огромное спасибо. Я сейчас тоже в книге нашел этот параметр в параграфе раннее связывание, просто мне читать надо было внимательнее, сейчас параграф перечитаю.
Ответить