Вниз
Скачать: CL | DM;

Как из события передать указатель на объект в мой обработчик?   Найти похожие ветки 

 
Ш-К   (2004-02-27 15:20) [0]

Делаю следующее:

TDataSetAccessEvent = procedure(Sender: TObject; var ADataSet: TDataSet) of object;
...

TFilterFrame = class(TComponent)
FInnerDataSet: TDataSet;
FOnCreateInnerDataSet: TDataSetAccessEvent;
...
procedure DoCreateInnerDataSet(Sender: TObject);
property OnCreateInnerDataSet: TDataSetAccessEvent read FOnCreateInnerDataSet write FOnCreateInnerDataSet;
end;
...

procedure TFilterFrame.DoCreateInnerDataSet(Sender: TObject);
begin
if Assigned(FOnCreateInnerDataSet) then
FOnCreateInnerDataSet(Sender, FInnerDataSet);

end;

Т.е. я хочу потом, при вызове обработчика OnCreateInnerDataSet, где-то далеко за внутренностями компонента проинициировать FInnerDataSet.
Именно через событие передать (в ADataSet), а не присваиванием.

Как это сделать?


 
Тимохов ©   (2004-02-27 15:22) [1]

У вас вроде все уже написано.
Теперь в обработчике создавайте компонент.
Или я вопрос не догнал?


 
Тимохов ©   (2004-02-27 15:23) [2]


> , где-то далеко за внутренностями компонента
>

Это что значит?


 
WebErr ©   (2004-02-27 15:25) [3]

Всё стандартно... в чём проблема-то? :))))


 
Ш-К   (2004-02-27 15:33) [4]

Торможу.

После такой процедуры:
procedure CreateInnerDataSet(Sender: TObject; var ADataSet: TDataSet);
begin
ADataSet:= OtherDataSet;
end;

В FInnerDataSet будет OtherDataSet?


 
Тимохов ©   (2004-02-27 15:34) [5]


> Ш-К (27.02.04 15:33) [4]

При условии наличия кода из вопроса?
Ответ, да.


 
Ш-К   (2004-02-27 15:41) [6]

Всем спасибо. Я не там искал глюки :)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.018 c
3-43318
DimaF
2004-02-15 22:24
2004.03.14
TIBTable


14-43787
Undert
2004-02-18 17:15
2004.03.14
Подскажите пожалуйста


14-43853
Александр Иванов
2004-02-21 11:22
2004.03.14
Стоимость разработки


1-43495
Elast
2004-02-28 13:50
2004.03.14
DBGridEh


3-43304
MadGhost
2004-02-11 22:42
2004.03.14
драйвер, для работы с базой данных, в текстовом файле?




   Наверх