Форум: "Основная";
Текущий архив: 2002.09.12;
Скачать: [xml.tar.bz2];
ВнизТеоретический вопрос... Ну не хватает мне теоретических знаний :) Найти похожие ветки
← →
Begin (2002-09-02 03:41) [0]Если следующая ситуация имеет право быть
var
P : TPanel;
...
P:=TPanel.Create(Form1);
P.Parent:=Form1;
то возникает вопрос - если владельцем (Owner ведь по аглицки "владелец") новосозданной панельки объявлена Form1, то зачем тогда лишний раз указывать, что она же и ее родитель ? Я знаю, что без этого она будет создана, но не появится, вопрос не про это. Получается, что родитель и владелец компонента вещи разные ? И компонент, созданный на форме, можно показать где угодно ?
← →
Aleks1 (2002-09-02 05:06) [1]Естественно! Владелец - это тот, кто обладает правами на ...
Родитель - тот кто дает жизнь.
А суть здесь в том, что компоненты могут быть и невизуальными.
← →
Billy (2002-09-02 05:40) [2]Owner - это объект, при уничтожении котрого будет уничтожена твоя панель и все остальные объекты, для которых он является владельцем. А Parent - это объект, на котором будет отображаться. Так что создана панель будет, даже если указать
P:=TPanel.Create(nil);
P.Parent:=nil;
только из-за отсутствия родителя ее негде будет отобразить и ее уничтожением ты будешь вынужден заниматься сам.
← →
McSimm (2002-09-02 11:07) [3]Маленькое дополнение.
Уничтожением занимаются и родители, не только владельцы.
Т.е. при
P := TPanel.Create(nil);
P.Parent := Self
Панель будет уничтожена в деструкторе формы. (Метод DestroyComponents)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.09.12;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.011 c