Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.047 c
2-1168324543
Extar
2007-01-09 09:35
2007.01.28
Чтобы не изобретать велосипед...


1-1165419214
MJShvedov
2006-12-06 18:33
2007.01.28
Как можно определить параметр ячейки DrawGrid?


3-1162580357
Adil
2006-11-03 21:59
2007.01.28
Oracle 10g Unicode, TntComponents


6-1156094923
Calibr
2006-08-20 21:28
2007.01.28
Как узнать IP-адрес компьютера?


6-1156410841
Zaborostroitel
2006-08-24 13:14
2007.01.28
Перехват адресной строки IE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский