Главная страница
    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.061 c
15-1167722573
legat
2007-01-02 10:22
2007.01.28
Возврат кода ошибки


15-1167987761
0x07BBh
2007-01-05 12:02
2007.01.28
Началась сессия


2-1168602839
DelphiLexx
2007-01-12 14:53
2007.01.28
Как в Memo выделять некоторые строки другим цветом


2-1168229678
Рекорд
2007-01-08 07:14
2007.01.28
Как быстро скопировать record ?


15-1168260263
iXT
2007-01-08 15:44
2007.01.28
Продам в хорошие руки!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский