![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Parent [D6, WinXP]
webpauk © (2004-09-14 13:34:00)Есть 2 класса
TMenu = class
TmenuItem = class
public
Parent: Tmenu;
end;
TMenu = class
public
Items: array of TmenuItem;
Left: Integer;
end;
Как обратиться из TmenuItem к Parent.Left?
Юрий Зотов (2004-09-14 16:39:00) [1]> Ega23 © (14.09.04 15:27) [6]
Да-да, конечно. Это у него, безусловно, свои собственные TMenuItem и TMenu. Стопудово. Он сумел сам их написать, но теперь почему-то не знает, как ему обратиться к им же введенному свойству Left. Вероятно, просто забыл, как это делается. Как пишутся компоненты - знает, а вот как обратиться к свойству - забыл. Что ж, бывает...
Ega23 (2004-09-14 15:27:00) [2]Юрий Зотов © (14.09.04 15:20) [5]
Ну опять-же, нигде не сказано, что автор имелл ввиду именно menus.TMenu и menus.TMenuItem. Может это он такую мнемонику ввёл...
Юрий Зотов (2004-09-14 15:20:00) [3]> Ega23 © (14.09.04 14:57) [4]
А потому что читаем внимательно: Parent: TMenu;
А у TMenu никаких Left отродясь не было. В неявном виде есть, а вот в явном - отродясь не было.
Ega23 (2004-09-14 14:57:00) [4]Юрий Зотов © (14.09.04 14:45) [3]
А почему сразу тот Left, что у TControl? Может это его какое-то внутреннее поле? У меня вот тоже у некоторых классов Width и Height есть...
Юрий Зотов (2004-09-14 14:45:00) [5]А давно ли у невизуальных компонентов появилось свойство Left?
Не то, которое неявно зашито в DesignInfo, а то, к которому можно обратиться в run-time.
Семен Сорокин (2004-09-14 14:41:00) [6]
TMenuItem = class
protected
FParent : TMenu;
public
constructor Create(AParent: TMenu);
property Parent: TMenu read FParent;
end;
constructor TMenuItem.Create(AParent: TMenu);
begin
FParent := AParent;
end;
Ega23 (2004-09-14 13:36:00) [7]Так и обратиться.