Главная страница
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.012 c
8-76036
Luc
2002-11-10 23:23
2003.02.24
Градиент на BMP


1-75940
TButton
2003-02-14 08:35
2003.02.24
GetAsyncKeyState


3-75754
alextov
2003-02-05 16:33
2003.02.24
Что делать с lookup-полями в TQuery?


14-76133
maxim2
2003-02-03 10:08
2003.02.24
Поделитесь дискеткой к книге М. Краснова Opengl Графика в проэкта


3-75806
Fishka
2003-02-06 14:01
2003.02.24
Поиск нескольких слов (