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

Вниз

Передача параметра   Найти похожие ветки 

 
Антон1209   (2006-02-03 10:31) [0]

constructor TAuditItem.Create(AOwner: TComponent; AName, ACaption: string);
begin
 inherited Create(AOwner);
 Name:=AName;
 Caption:=ACaption;
 OnClick:=ShowAuditWindow(AOwner);
end;

procedure TAuditItem.ShowAuditWindow(Sender : TObject);

хочу передать AOwner в процедуру ShowAuditWindow возникает ошибка, не могу понять почему, помогите.

[Error] ViewSimple.pas(717): Incompatible types: "TNotifyEvent" and "procedure, untyped pointer or untyped parameter"


 
Digitman ©   (2006-02-03 10:35) [1]

Не понятно, с какой стати источником события (Sender) должен быть некий заранее не известный владелец компонента TAuditItem, если он, компонент TAuditItem, как раз сам и является источником события ?


 
Антон1209   (2006-02-03 10:43) [2]

Да понял, а как тогда мне лучше передать владельца компонента TAuditItem в процедуру ShowAuditWindow?


 
Digitman ©   (2006-02-03 10:49) [3]


> Да понял


Ну где же понял-то ?!

Зачем передавать владельца , если в Sender впри вызове обработчика предназначен для указания компонента-источника (!) события (источник у тебя TAuditItem), а не компонента-владельца, коего в общем случае у компонента TAuditItem может и не быть ?

constructor TAuditItem.Create(AOwner: TComponent; AName, ACaption: string);
begin
..
OnClick:=ShowAuditWindow;
end;

И все !
И ничего выдумывать не надо !

Когда произойдет событие TAuditItem.OnClick, будет вызван метод  TAuditItem.ShowAuditWindow со значением переданного параметра Sender, соответствующим ссылке на конкретный компонент TAuditItem, который "кликнули"


 
evvcom ©   (2006-02-03 10:51) [4]

А ты его косвенно и так передаешь:
OnClick:=ShowAuditWindow;
...
procedure TAuditItem.ShowAuditWindow(Sender : TObject);
begin
 TComponent(Sender).Owner // это и есть твой владелец


 
Антон1209   (2006-02-03 10:57) [5]

все это и нужно было спасибо :-)



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

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

Наверх




Память: 0.47 MB
Время: 0.032 c
11-1119916602
Ax
2005-06-28 03:56
2006.02.19
KOLMHToolTip.pas не компилируется


6-1131802794
lockheed_man
2005-11-12 16:39
2006.02.19
Чат на основе winapi socket


10-1113456369
uli
2005-04-14 09:26
2006.02.19
Копирование документа


5-1125262102
jack128
2005-08-29 00:48
2006.02.19
Опубликованные события у TPesistent


2-1138453840
Игорь Степанов
2006-01-28 16:10
2006.02.19
Размещение нескольких компонент QuickReport на форме