обработка событий в собственных компонентах

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

обработка событий в собственных компонентах

Сообщение smirnoww » 25.11.2007 17:48:51

пишу компонент - treeview привязанный к базе, Необходимо что бы при смене активного элемента дерева в наборе данных становилась текущей соответствующая строка, Написал следующий код:
TDBTreeView = class(TTreeView)
private
{ Private declarations }
...
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(TheOwner: TComponent); override;
destructor Destroy; override;
procedure DBTVSelChange(Sender: TObject);
published
{ Published declarations }
...
end;

...

constructor TDBTreeView.Create(TheOwner: TComponent);
begin
inherited Create(TheOwner);
//ниже следующая строка вызывает ошибку
OnSelectionChanged:=DBTVSelChange;
end;

...

procedure TDBTreeView.DBTVSelChange(Sender: TObject);
begin
...
end;

---------конец кода--------------
ошибка:
/home/j/my/Mylpk/dbtreeview.pas(96,36) Error: Wrong number of parameters specified for call to "DBTVSelChange"

я так понял, что lazarus пытается выполнить мой обработчик события, а не запомнить процедуру как обработчик события

помогите, пожалуйста, разобраться
smirnoww
незнакомец
 
Сообщения: 2
Зарегистрирован: 25.11.2007 17:19:03

Сообщение alexs » 25.11.2007 18:22:58

попробуй так:
Код: Выделить всё
OnSelectionChanged:=@DBTVSelChange;
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение smirnoww » 25.11.2007 18:55:31

Спасибо, помогло,
Сам что-то стормознул :)
smirnoww
незнакомец
 
Сообщения: 2
Зарегистрирован: 25.11.2007 17:19:03


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18

Рейтинг@Mail.ru