![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Кто родитель компонента? [D5]
Alecs © (2002-12-03 09:36:00)Есть ряд форм родителей (TForm->TForm1->TForm2->TForm3). Как узнать, кому из них пренадлежит какой-либо компонент?
Кулюкин Олег (2002-12-03 11:10:00) [21]2 Alecs © (03.12.02 09:36)
Прислушайтесь к совету Skier © (03.12.02 10:59).
Напишите функции, которые будут читать из ini-файла.
В наследниках перегружайте их, и будет Вам счастье.
Alecs (2002-12-03 11:08:00) [22]InheritFrom, даст мне родителя компонента (т.е. данный компонент будет являться его наследником), а мне надо знать форму владельца ( НА КОТОРОМ ИЗНАЧАЛЬНО НАХОДИЛСЯ КОМПОНЕНТ, А НЕ ПЕРЕШЁЛ ПО НАСЛЕДИЮ)
Alecs (2002-12-03 11:02:00) [23]А при чём тут "вызывай на здоровье". Этот блок и не спрятан. Проблема-та совсем в другом, но всё равно спасибо.
FreeLancer (2002-12-03 11:01:00) [24]
class function InheritsFrom(AClass: TClass): Boolean;
Determines the relationship of two object types.
Skier (2002-12-03 10:59:00) [25]>Alecs
> Есть блок находящийся в одной из родительских форм, который
> делает определённые действия со всеми компонентами на форме
> (переводы,шрифты и т.д.)
Что за блок такой ?
Догадываюсь что это методы чтения и записи в Ини-файл, если
так то объяви в классе TForm1 методы для чтения и записи
(что-то типа LoadParamsFromIni и SaveParamsIntoIni) и помести
его в раздел public и в потомках вызывай на здоровье...
Alecs (2002-12-03 10:52:00) [26]А всё очень просто. Есть блок находящийся в одной из родительских форм, который делает определённые действия со всеми компонентами на форме (переводы,шрифты и т.д.), все данные он хранит в Ини-файле, но при системе наследования, каждый потомок дублирует информацию родителя. А мне нужно её отсечь, что-бы она хранилась один раз. Вот собственно и всё.
Skier (2002-12-03 10:44:00) [27]>Alecs
А теперь объясни - зачем всё это ?
Alecs (2002-12-03 10:43:00) [28]Хорошо, давай так. На форме Form1 лежит компонент Edit1, на форме Form2 (наследнице Form1) лежит компонент Edit2, на форме Form3 (наследнице Form2) лежит Edit3.
Как работая только с формой Form3, мне узнать какой именно форме принадлежат все Edit-ы : Form1,Form2, а какой Form3???????????
Ты мне показываешь пример про компонент на котором лежит искомый компонент, а не форма на которой он создан.
Song (2002-12-03 10:22:00) [29]Par:=Edit1.Parent;
While Assigned(Par) Do Par:=Par.Parent;
Оно ??
Alecs (2002-12-03 10:08:00) [30]Хорошо, начну с другой стороны.
У меня есть компонент лежащий на какой-то форме Form3, а она в свою очередь является наследником формы Form2, а та наследником Form1 и так далее. Как мне узнать, на какой именно форме он был создан изначально, а не перешёл по наследованию?
Юрий Зотов (2002-12-03 09:59:00) [31]Owner/Parent: смотря что надо.
Только не повторяйте, что Вы не идиот, это и так понятно. Лучше объясните толком, что же Вам нужно узнать?
alecs (2002-12-03 09:53:00) [32]Я не идиот. Хотя спасибо за внимание. А вообще я имел ввиду, какая именно из форм является родителем.
Song (2002-12-03 09:37:00) [33]Owner/Parent: смотря что надо.