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

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

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

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

Сообщение BamsikPotapov » 14.03.2012 21:52:41

Все элементарно мне нужно при нажатии на 1 кнопку выполнить действия определенные, их я написал в событии(OnClick)
при нажатии на 2 кнопку выполнить действия + событие нажатия на кнопку 1.
У меня это не получается, я немного разобрался с классами, но именно это сделать не могу.
Создание вспомогательной процедуры не предлагайте я уже так попробовал все работает, но в будущем такой способ меня не устраивает, так как я сам себя таким способом буду путать.
Все мои попытки заканчиваются ошибкой, что-то не так с параметром или их количесвтом.
Заранее спасибо.
Аватара пользователя
BamsikPotapov
новенький
 
Сообщения: 54
Зарегистрирован: 31.12.2011 19:30:39
Откуда: Меня в капусте нашли

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

Сообщение Mr.Smart » 14.03.2012 21:58:01

Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
begin
  ...
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  ...
  Button1Click(Self);
  ...
end;
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

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

Сообщение BamsikPotapov » 14.03.2012 22:04:04

Спасибо, ща попробую.
Объясни что значит self ну так в двух словах, если не трудно.
Аватара пользователя
BamsikPotapov
новенький
 
Сообщения: 54
Зарегистрирован: 31.12.2011 19:30:39
Откуда: Меня в капусте нашли

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

Сообщение Mr.Smart » 14.03.2012 22:13:21

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;

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

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

Сообщение BamsikPotapov » 14.03.2012 22:19:12

Огромное спасибо. Я сейчас тоже в книге нашел этот параметр в параграфе раннее связывание, просто мне читать надо было внимательнее, сейчас параграф перечитаю.
Аватара пользователя
BamsikPotapov
новенький
 
Сообщения: 54
Зарегистрирован: 31.12.2011 19:30:39
Откуда: Меня в капусте нашли


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 207

Рейтинг@Mail.ru
cron