Главная страница
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.055 c
15-1167332665
Gydvin
2006-12-28 22:04
2007.01.28
Просьба потестировать на разных браузерах


3-1162829092
DVM
2006-11-06 19:04
2007.01.28
Как быстро удалить все записи в ADOTable без SQL ?


2-1168224252
фзшс
2007-01-08 05:44
2007.01.28
ini&amp;api


4-1158425859
Антибайт
2006-09-16 20:57
2007.01.28
Выравнивание текста в Edit


6-1156605057
kernel
2006-08-26 19:10
2007.01.28
WOL