Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1151684978
Gloomer
2006-06-30 20:29
2006.07.23
Отображение GIF


15-1151300256
Ega23
2006-06-26 09:37
2006.07.23
С Днём рождения! 25 июня


15-1149165240
Rule
2006-06-01 16:34
2006.07.23
Наконецто объявляю официальный набор на Мастак Пати на Днепре :-)


2-1151955143
Footballer
2006-07-03 23:32
2006.07.23
Чё такое Handle?


2-1151726179
learner
2006-07-01 07:56
2006.07.23
Один фрейм для разных структур





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