Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.24;
Скачать: CL | DM;

Вниз

Обработка событий. Или скорее перехватывание событий...   Найти похожие ветки 

 
Zilog   (2003-02-12 14:18) [0]

Проблема такая.
Создал класс, в отдельном модуле, у которого есть методы и переменная типа TObj, у которой в свою очередь есть свои методы, события...

Я хочу повесить на определённое событие Obj вызов процедуры из моего класса.

type TMyClass = class
Obj : TObj;
procedure EventHandler;
end;

constructor TMyClass.Create;
begin
// вот здесь нужно что то типа
Obj.OnEvent := EventHandler;
end;

procedure TMyClass.EventHandler;
begin
//Мой обработчик события
end;

Ну никак не получается. Подскажите pls.


 
Anatoly Podgoretsky   (2003-02-12 14:23) [1]

Написано правильно, только не ясно обработчик у тебя того типа, который нужен?


 
крот   (2003-02-12 14:23) [2]

EventHandler не вызывается?


 
Zilog   (2003-02-12 14:25) [3]

>> крот: нет, проблема в том, что не присваивается - типы разные.
>> Anatoly Podgoretsky: я запутался. Я просто хочу, чтобы при событии вызывалась моя процедура... :((


 
Digitman   (2003-02-12 14:29) [4]


> не присваивается - типы разные.


типы должны точно соответствовать



 
Anatoly Podgoretsky   (2003-02-12 14:30) [5]

Хочу здесь не подходит, не поле чудес


 
Zilog   (2003-02-12 14:36) [6]

То что типы должны совпадать я в курсе.
Но тогда я вообще не втыкаю - как мне описать процедуру типа TVaCommRxCharEvent (это оригинальный тип события).
Я не пойму как можно процедуру привести к типу????


 
Digitman   (2003-02-12 14:42) [7]

пусть у тебя где-то имеется

type
TVaCommRxCharEvent = procedure(a: Integer; b: string) of object;

тогда должно быть

type

TMyClass = class
Obj : TObj;
procedure EventHandler(a: Integer; b: string); // !!!!!! метод класса, объявленный в соответствии с декларацией TVaCommRxCharEvent-типа
end;

constructor TMyClass.Create;
begin
// вот здесь нужно что то типа
Obj.OnEvent := EventHandler;
end;

procedure TMyClass.EventHandler(a: Integer; b: string);
begin
//Мой обработчик события
end;


 
Zilog   (2003-02-12 15:17) [8]

О спасибо тебе великий ЦифровойКрендель (Gigitman)!!! :))))
Всё заработало. Вот этих тонкостей-то я как раз и не знал.
Большое тебе спасибо, минимальных тебе вирусов и глюков;
ыстрой компиляции безглючного кода!!

=8-)

Спасибо.


 
Digitman   (2003-02-12 15:31) [9]

не за что) ... носи не стаптывай))))



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

Текущий архив: 2003.02.24;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.007 c
1-75896
ЮРИЙ_К
2003-02-14 10:44
2003.02.24
Написать программу со скинами


4-76241
mate
2003-01-10 16:31
2003.02.24
E-mail


14-76193
Романов Р.В.
2003-02-09 10:57
2003.02.24
Вопрос по интерфейсу


14-76089
Ketmar
2003-02-09 16:33
2003.02.24
постинг именинников


3-75819
mate
2003-02-06 13:57
2003.02.24
Height у QRDBText





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