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

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

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

Ответить
smirnoww
незнакомец
Сообщения: 2
Зарегистрирован: 25.11.2007 16:19:03
Контактная информация:

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

Сообщение smirnoww »

пишу компонент - 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 пытается выполнить мой обработчик события, а не запомнить процедуру как обработчик события

помогите, пожалуйста, разобраться
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

попробуй так:

Код: Выделить всё

OnSelectionChanged:=@DBTVSelChange;
smirnoww
незнакомец
Сообщения: 2
Зарегистрирован: 25.11.2007 16:19:03
Контактная информация:

Сообщение smirnoww »

Спасибо, помогло,
Сам что-то стормознул :)
Ответить