Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2014, 12:32   #1
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
По умолчанию Назначить обработчик OnClick

Всем привет.

Есть-ли какой-нибудь способ в качестве обработчика OnClick передать указатель на процедуру? Или какие-нибудь другие способы назначения обработчика, без объявления метода в классе?

Заранее спасибо.
Xo66um вне форума Ответить с цитированием
Старый 21.05.2014, 12:57   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Есть-ли какой-нибудь способ в качестве обработчика OnClick передать указатель на процедуру?
Так оно обычно и бывает. Можно сам метод присвоить, можно указатель поставить.


Цитата:
Или какие-нибудь другие способы назначения обработчика, без объявления метода в классе?
метод вне класса. Больше вариантов увы нет.
Человек_Борща вне форума Ответить с цитированием
Старый 21.05.2014, 13:07   #3
StriderX
Форумчанин
 
Регистрация: 21.04.2014
Сообщений: 115
По умолчанию

Цитата:
Сообщение от Xo66um Посмотреть сообщение
...Есть-ли какой-нибудь способ в качестве обработчика OnClick передать указатель на процедуру?..
Вы можете полностью отключить контроль типов компилятором перейдя на операции с указателями: @btn1.OnClick := @MyProc. При этом компилятор будет игнорировать все соглашения о вызовах и прототипы функций (отличный вариант для прострела себе ноги, в общем случае).
"of object" означает, что первым параметром полетит Self. Поэтому MyProc может выглядеть так:
Код:
procedure MyProc(Self, Sender : TObject);
begin
        TButton(Sender).Caption := '123';
end;
StriderX вне форума Ответить с цитированием
Старый 21.05.2014, 16:12   #4
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
По умолчанию

Спасибо всем за ответы. Отзывы добавил.
Xo66um вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработчик событий OnClick (JS) SoftKoc JavaScript, Ajax 8 16.02.2013 05:47
Как сделать для WebBrowser обработчик onClick demiancz Общие вопросы Delphi 0 21.09.2012 11:38
Обработчик OnClick у массива кнопок MyLastHit Общие вопросы Delphi 15 18.05.2011 11:33
Назначить событие на OnClick для TMenuItem zver777 Общие вопросы Delphi 2 21.11.2010 17:39
Назначить обработчик события на кнопку form2 из form1 программно golopjatov БД в Delphi 13 14.07.2010 05:08