Главная страница
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.047 c
3-1162996402
pic509
2006-11-08 17:33
2007.01.28
как убрать пароль с базы данных ib5?


5-1147344578
q-q
2006-05-11 14:49
2007.01.28
Как сделать DBGrid - наследник TGraphicControl


1-1164973182
LexusU
2006-12-01 14:39
2007.01.28
Подключение DLL написаной на VC++ в проекте Delphi


2-1168261997
Lamer666
2007-01-08 16:13
2007.01.28
DbGridEh


2-1168414839
DelphiLexx
2007-01-10 10:40
2007.01.28
Помогите создать аналог распределения MessageBox a