Форум: "Начинающим";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];
ВнизКак задать обработчик события во время исполнения? Найти похожие ветки
← →
Franzy (2006-07-01 14:18) [0]Может, я чего-то не понимаю, но мне никак не удается задать обработчик события во время исполнения. Итак, есть некий класс, наследник Timage. Создаю его в обработчике Tform1.create:
myclass:=tmyclass.create(self);
myclass.parent:=form1.
Хочу теперь привязать некий обработчик (который по некоторым причинам нельзя задать при определении класса) к событию, скажем, onclick _данного экземпляра_ этого класса.
Вопрос: как это сделать?
← →
DrPass © (2006-07-01 14:28) [1]MyClass.OnClick:=Form1MyClassClick;
что тут может не получиться?
← →
Desdechado © (2006-07-01 14:34) [2]Естественно:
1. Метод-обработчик должен быть описан в форме и реализован.
2. Тип его должен совпадать с ожидаемым у обработчика в компоненте.
← →
Franzy (2006-07-01 14:39) [3]Дело в том, что когда я пишу процедуру типа dosomething(sender:TObject), дельфи ругается, что такие объявления возможны только для классов.
← →
Desdechado © (2006-07-01 14:50) [4]Правильно, читай п.1 из [2].
Это должен быть метод формы.
← →
Franzy (2006-07-01 16:18) [5]А, то бишь название процедуры нужно писать TForm1.dosomething(sender:TObject)?
← →
Loginov Dmitry © (2006-07-01 16:46) [6]Можно так еще:
procedure TMyClass.dosomething(sender:TObject);
.......
тогда в TMyClass.OnCreate: MyClass.OnClick := dosomething;
← →
Loginov Dmitry © (2006-07-01 16:46) [7]т.е.
OnClick := dosomething;
← →
Franzy (2006-07-01 19:51) [8]Так и сделал, заработало :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c