Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.13;
Скачать: CL | DM;

Вниз

Как создать обработчик события...   Найти похожие ветки 

 
Val ©   (2005-02-01 15:16) [0]

Есть объявление:
TMyClass = class
public
  MyDataSet : TDataSet;
end;

Как создать обработчик события MyDataSet.AfterDelete, который выполнит внешний(экземпляр MyDataSet находится на форме) обработчик события MyDataSet.AfterDelete (if Assigned) и за ним свой код, не делая наследника TDataSet?


 
Digitman ©   (2005-02-01 15:28) [1]

Как "СОЗДАТЬ" или как "ДЕКЛАРИРОВАТЬ, РЕАЛИЗОВАТЬ, НАЗНАЧИТЬ" ?


 
Val ©   (2005-02-01 15:32) [2]

Я это имел ввиду, под словом "создать".
Хотелось бы понять принцип хотя бы...


 
Digitman ©   (2005-02-01 15:36) [3]

справку по обработчику события TDataSet.OnAfterDelete читал ? что непонятно там ?


 
Val ©   (2005-02-01 15:56) [4]

Непонятно, каким образом выполнить внешний, существующий обработчик:
1. задекларирую свой обработчик AfterDelete, как метод TMyClass.
2. надо бы назначить его обработчкиом AfterDelete датасета, но, вдруг там есть свой, как его все-таки назначить, но не потерять тот и сначала _его_ выполнять в моем?


 
Digitman ©   (2005-02-01 16:21) [5]

type

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

property AfterDelete: TDataSetNotifyEvent;

ЭТО (фрагмент справки) о чем-нибудь тебе говорит ?!


 
Val ©   (2005-02-01 16:28) [6]

да, спасибо.


 
Val ©   (2005-02-01 16:52) [7]

Вопрос о корректности решения - использовал поле типа TDataSetNotifyEvent для хранения ссылки на внешний обработчик. Вопрос - если мне нужно обработать несколько событий таким образом - делать соотв кол-во полей? Или я все-же придумал "кривое" решение?


 
Digitman ©   (2005-02-01 17:08) [8]


> Вопрос - если мне нужно обработать несколько событий таким
> образом - делать соотв кол-во полей?


наверняка ..

ведь ты же не знаешь заранее, куда "направлены" обработчики различных событий TDATASET на момент когда ты их, так сказать, пытаешься "перехватить" ..


 
Val ©   (2005-02-01 17:12) [9]

Еще раз спасибо.



Страницы: 1 вся ветка

Текущий архив: 2005.02.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.049 c
6-1101968203
DelphiN!
2004-12-02 09:16
2005.02.13
Как получить трафик из компонета TIdMappedPortTCP?


3-1105529008
Некто
2005-01-12 14:23
2005.02.13
Ексепшны или стандартные сообщения об ошибках


3-1106033256
Бизон
2005-01-18 10:27
2005.02.13
Событие выбора из PickList в DBGride


14-1106241672
Denis_
2005-01-20 20:21
2005.02.13
WIndows Xp ,NTFS


10-1083094910
Netrix
2004-04-27 23:41
2005.02.13
Передача строки по COM идёт слишком медленно!