Главная страница
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-75901
ltexcimer
2003-02-14 11:37
2003.02.24
SendMessage


1-75950
Grizin
2003-02-12 12:36
2003.02.24
Создание обработчика события из редактора компонента


3-75776
Ламер
2003-02-05 13:47
2003.02.24
Почему прога под Интербейс не хочет работать под делфями?


8-76046
Valentain
2002-11-08 16:03
2003.02.24
Непонятка


1-75916
Flagman
2003-02-14 09:57
2003.02.24
OLE Automation