Цитата:
Сообщение от lmikle
При создании визуального объекта тебе надо сохранить в нем ссылку на класс, содержащий твои данные. Например, если ты используешь стандартные компоненты, то у них есть св-во Tag : Integer. Можно поступить так:
1. Создаем свой список объектов, в котором делаем метод function FindByID(AID : Integer) : TCategory - для поиска объекта по его ID.
2. При создании объекта добавляем его в этот список.
3. При создании визуального компонента в его св-ве Tag сохраняем ID объекта.
4. При клике по визуальному компоненту из св-ва Tag вытаскиваем ID и по этому ID находим нужный объект в списке и уже работаем с ним.
|
Да можно сразу в Tag хранить ссылку на родителя: SomeControl.Tag := Integer(ParentAsTCategory);
И выловить обратно родителя во время события: Parent := TCategory((Sender as TControl).Tag);
Если я ничего не напутал
Upd: Не напутал. На форме кнопка и лейбл:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
TLabel((Sender as TControl).Tag).Caption := 'Ta-da!';
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.Tag := Integer(Label1);
end;