Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.28;
Скачать: CL | DM;

Вниз

Ко такое? Вопрос покажется странным, но не знаю, как назначить пр   Найти похожие ветки 

 
Antoxa2005   (2007-01-09 03:37) [0]

Подскадите пожалуйста, как назначить процедуру программно, т.е.:

есть процедура

procedure MessageShow;
Begin
ShowMessage("Выполнено");
end;

и есть кнопка Button1, как программно назначить на Button1.OnClick выполнение процедуры MessageShow?


 
Palladin ©   (2007-01-09 03:43) [1]

Как ты мог заметить если бы исследовал справку на предмет TButton.OnClick это свойство имеет тип TNotifyEvent, который в свою очередь является
procedure (Sender:TObject) of Object;

что в свою очередь означает, что назначаемое должно являтся методом объекта и выглядеть как:

Procedure <SomeObject>.MyClickEvent(Sender:TObject);

вот когда ты в каком нибудь классе объявишь подобное, потом еще и реализуешь, то что бы осуществить твою мечту тебе останется лишь присвоить событие

Button1.OnClick:=<SomeObject>.MyClickEvent;

а потом кликать до потери пулься и наслаждаться результатом


 
Джо ©   (2007-01-09 03:44) [2]

Процедура MessageShow должна, во-первых, быть методом объекта, а, во-вторых, иметь соответствующий список формальных параметров, т.е., (Sender: TObject). Тогда программно можно будет написать следующее: Button1.OnClick := TSomeObject.MessageShow.


 
Джо ©   (2007-01-09 03:45) [3]

> [2] Джо ©   (09.01.07 03:44)
> следующее: Button1.OnClick := TSomeObject.MessageShow.

Button1.OnClick := SomeObject.MessageShow.

И опять меня Палладин опередил :)


 
Palladin ©   (2007-01-09 03:48) [4]

Клянусь, я не намеренно :) просто написал ответ, перенес из основной и запостил :)


 
Германн ©   (2007-01-09 04:09) [5]


> Palladin ©   (09.01.07 03:48) [4]
>
> Клянусь, я не намеренно :) просто написал ответ, перенес
> из основной и запостил :)
>

Ну да, мы ведь простые смертные и не можем "ничего" "переместить" "никуда"! :)


 
Palladin ©   (2007-01-09 04:18) [6]

"ничего" "переместить" "никуда" я не могу и даже ЮЗ не может :)
а вот от прав на начинающим я бы не отказался... спам исчезал бы активней...


 
Джо ©   (2007-01-09 05:38) [7]

>
> а вот от прав на начинающим я бы не отказался... спам исчезал
> бы активней...

Сообразим на двоих? ;)


 
Германн ©   (2007-01-09 05:39) [8]


> Palladin ©   (09.01.07 04:18) [6]
>
> "ничего" "переместить" "никуда" я не могу и даже ЮЗ не может
> :)
> а вот от прав на начинающим я бы не отказался... спам исчезал
> бы активней...

Про ЮЗ не будем трепаться! Не тот уровень, согласись. А вот насчёт спама, тут не мешало бы что-то сделать дополнительно. Что именно я не знаю.


 
Antoxa2005   (2007-01-09 10:51) [9]

Всем спасибо!



Страницы: 1 вся ветка

Текущий архив: 2007.01.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.07 c
3-1162659008
pirate
2006-11-04 19:50
2007.01.28
проблемы разработки программ для образования


15-1168500105
@!!ex
2007-01-11 10:21
2007.01.28
Черно-белый сигнал с SVideo


15-1167902800
vitv
2007-01-04 12:26
2007.01.28
Посоветуйте книгу по алгоритмам


2-1168499525
Roma L
2007-01-11 10:12
2007.01.28
SQL Server


3-1162973372
jiny
2006-11-08 11:09
2007.01.28
Ширина заголовка строки в DbCross (frxDbCrossObject)