Текущий архив: 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