![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите с TNotifyEvent [D6, WinME]
Геннадий © (2002-10-16 16:14:00)Создаю динамический объекть. Скажем, TButton. Есть моя процедура, скажем, ButClick. Как сделать так, что бы она была обработчиком события OnClick для созданного TButton?
Геннадий (2002-10-16 21:31:00) [1]Всем спасибо. Получилось. Только хочу заметить:
> Почитайте литературу, сударь. Вам явно нехватает знаний, а их можно почерпнуть в литературе и FAQ.
Подчерпнуть их можно и на форуме. А если бы мне их хватало, то меня бы здесь не было (и моих вопросов, соотвественно, тоже). А если знаешь немжко больше других, то или помогай, или вообще здесь не появляйся. Твои язвительные замечания здесь не нужны.
Zemal (2002-10-16 18:33:00) [2]О! Точно! Спасибо! Пора меня к литературе отрпавлять! Спасибо за вскрытие пробела! Пойду домой читать! :)
MBo (2002-10-16 18:21:00) [3]>Zemal
ButClick( Nil )
Методом класса должна быть по соображениям совместимости типов -
обработчик - procedure() of object
Zemal (2002-10-16 18:19:00) [4]>>Игорь Шевченко
В чём неверно?
Игорь Шевченко (2002-10-16 18:08:00) [5]Zemal © (16.10.02 17:56)
> Да! Процедура должна быть объявлена: procedure ButClick(Sender
> : TObject);
> Т.к. ей передаётся ссылка на вызывающий объект, а чтобы
> такую ссылку получить, она естественно должна быть МЕТОДОМ
> ОБЪЕКТА!
Неверно
Zemal (2002-10-16 18:02:00) [6]Вообще она может быть объявлена и как метод класса, но небудем вдаваться в подробности :).
Zemal (2002-10-16 17:56:00) [7]Да! Процедура должна быть объявлена: procedure ButClick(Sender : TObject);
Т.к. ей передаётся ссылка на вызывающий объект, а чтобы такую ссылку получить, она естественно должна быть МЕТОДОМ ОБЪЕКТА!
Zemal (2002-10-16 17:50:00) [8]Опять же вопрос, который в любой книге по Делфи пишут в самой первой главе: "Событие приложения не что иное, как ссылка на метод-обработчик, т.е. ссылка на процедуру и функцию, которую в любой момент выполнения программы можно переопределить."
Например: Application.OnTerminate := MyActionOnTerminate;
Почитайте литературу, сударь. Вам явно нехватает знаний, а их можно почерпнуть в литературе и FAQ.
MBo (2002-10-16 17:50:00) [9]процедура должна быть МЕТОДОМ ОБЪЕКТА!!!
Андрей Прокофьев (2002-10-16 17:47:00) [10]Процедура должна быть объявлена
procedure ButClick(Sender : TObject);
Геннадий (2002-10-16 17:45:00) [11]Ага, как же! Он пишет о несовместимости типов!
Opuhshii (2002-10-16 16:17:00) [12]MyObject:=TButton.Create(nil);
MyObject.OnClick:=ButClick;
Игорь Шевченко (2002-10-16 16:16:00) [13]MyButton := TButton.Create(Self)
....
MyButton.OnClick := ButClick