Главная страница
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.48 MB
Время: 0.013 c
1-75998
AVL1
2003-02-13 02:17
2003.02.24
Глюк или руки?


8-76039
Raph
2002-11-11 22:18
2003.02.24
Построение трехмерных графиков


14-76182
Hoper
2003-02-08 03:11
2003.02.24
Bob Marley s birthday


1-75875
rtooo
2003-02-11 21:42
2003.02.24
Работа с формой


1-75922
AlexanderSK
2003-02-13 17:17
2003.02.24
Удаление фрейма