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

Вниз

Подскажите с TNotifyEvent   Найти похожие ветки 

 
Геннадий   (2002-10-16 16:14) [0]

Создаю динамический объекть. Скажем, TButton. Есть моя процедура, скажем, ButClick. Как сделать так, что бы она была обработчиком события OnClick для созданного TButton?


 
Игорь Шевченко   (2002-10-16 16:16) [1]

MyButton := TButton.Create(Self)
....
MyButton.OnClick := ButClick


 
Opuhshii   (2002-10-16 16:17) [2]

MyObject:=TButton.Create(nil);
MyObject.OnClick:=ButClick;



 
Геннадий   (2002-10-16 17:45) [3]

Ага, как же! Он пишет о несовместимости типов!


 
Андрей Прокофьев   (2002-10-16 17:47) [4]

Процедура должна быть объявлена
procedure ButClick(Sender : TObject);


 
Zemal   (2002-10-16 17:50) [5]

Опять же вопрос, который в любой книге по Делфи пишут в самой первой главе: "Событие приложения не что иное, как ссылка на метод-обработчик, т.е. ссылка на процедуру и функцию, которую в любой момент выполнения программы можно переопределить."
Например: Application.OnTerminate := MyActionOnTerminate;
Почитайте литературу, сударь. Вам явно нехватает знаний, а их можно почерпнуть в литературе и FAQ.


 
MBo   (2002-10-16 17:50) [6]

процедура должна быть МЕТОДОМ ОБЪЕКТА!!!


 
Zemal   (2002-10-16 17:56) [7]

Да! Процедура должна быть объявлена: procedure ButClick(Sender : TObject);
Т.к. ей передаётся ссылка на вызывающий объект, а чтобы такую ссылку получить, она естественно должна быть МЕТОДОМ ОБЪЕКТА!


 
Zemal   (2002-10-16 18:02) [8]

Вообще она может быть объявлена и как метод класса, но небудем вдаваться в подробности :).


 
Игорь Шевченко   (2002-10-16 18:08) [9]

Zemal © (16.10.02 17:56)


> Да! Процедура должна быть объявлена: procedure ButClick(Sender
> : TObject);
> Т.к. ей передаётся ссылка на вызывающий объект, а чтобы
> такую ссылку получить, она естественно должна быть МЕТОДОМ
> ОБЪЕКТА!


Неверно


 
Zemal   (2002-10-16 18:19) [10]

>>Игорь Шевченко
В чём неверно?


 
MBo   (2002-10-16 18:21) [11]

>Zemal
ButClick( Nil )

Методом класса должна быть по соображениям совместимости типов -
обработчик - procedure() of object


 
Zemal   (2002-10-16 18:33) [12]

О! Точно! Спасибо! Пора меня к литературе отрпавлять! Спасибо за вскрытие пробела! Пойду домой читать! :)


 
Геннадий   (2002-10-16 21:31) [13]

Всем спасибо. Получилось. Только хочу заметить:

> Почитайте литературу, сударь. Вам явно нехватает знаний, а их можно почерпнуть в литературе и FAQ.

Подчерпнуть их можно и на форуме. А если бы мне их хватало, то меня бы здесь не было (и моих вопросов, соотвественно, тоже). А если знаешь немжко больше других, то или помогай, или вообще здесь не появляйся. Твои язвительные замечания здесь не нужны.



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

Форум: "Основная";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.58 MB
Время: 0.037 c
4-92776
AddMean
2002-09-11 01:45
2002.10.28
Help: Как с помощью API Узнать номера занимаемых файлом кластеров


3-92389
angelcom
2002-10-08 05:04
2002.10.28
Помогите, плз. Или я торможу уже или.....


1-92501
Sova
2002-10-15 11:19
2002.10.28
Разрешения экрана и размер фонтов.


1-92604
Cr@sh
2002-10-12 21:01
2002.10.28
Сопоставление процедур.


4-92821
Пенсионер
2002-09-13 12:35
2002.10.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
Английский Французский Немецкий Итальянский Португальский Русский Испанский