![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как создать обработчик события... [D7, WinXP]
Val © (2005-02-01 15:16:00)Есть объявление:
TMyClass = class
public
MyDataSet : TDataSet;
end;
Как создать обработчик события MyDataSet.AfterDelete, который выполнит внешний(экземпляр MyDataSet находится на форме) обработчик события MyDataSet.AfterDelete (if Assigned) и за ним свой код, не делая наследника TDataSet?
Val (2005-02-01 17:12:00) [1]Еще раз спасибо.
Digitman (2005-02-01 17:08:00) [2]
> Вопрос - если мне нужно обработать несколько событий таким
> образом - делать соотв кол-во полей?
наверняка ..
ведь ты же не знаешь заранее, куда "направлены" обработчики различных событий TDATASET на момент когда ты их, так сказать, пытаешься "перехватить" ..
Val (2005-02-01 16:52:00) [3]Вопрос о корректности решения - использовал поле типа TDataSetNotifyEvent для хранения ссылки на внешний обработчик. Вопрос - если мне нужно обработать несколько событий таким образом - делать соотв кол-во полей? Или я все-же придумал "кривое" решение?
Val (2005-02-01 16:28:00) [4]да, спасибо.
Digitman (2005-02-01 16:21:00) [5]type
TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;
property AfterDelete: TDataSetNotifyEvent;
ЭТО (фрагмент справки) о чем-нибудь тебе говорит ?!
Val (2005-02-01 15:56:00) [6]Непонятно, каким образом выполнить внешний, существующий обработчик:
1. задекларирую свой обработчик AfterDelete, как метод TMyClass.
2. надо бы назначить его обработчкиом AfterDelete датасета, но, вдруг там есть свой, как его все-таки назначить, но не потерять тот и сначала _его_ выполнять в моем?
Digitman (2005-02-01 15:36:00) [7]справку по обработчику события TDataSet.OnAfterDelete читал ? что непонятно там ?
Val (2005-02-01 15:32:00) [8]Я это имел ввиду, под словом "создать".
Хотелось бы понять принцип хотя бы...
Digitman (2005-02-01 15:28:00) [9]Как "СОЗДАТЬ" или как "ДЕКЛАРИРОВАТЬ, РЕАЛИЗОВАТЬ, НАЗНАЧИТЬ" ?