Форум: "Начинающим";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
ВнизПередача параметра Найти похожие ветки
← →
Антон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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.025 c