Текущий архив: 2007.01.07;
Скачать: CL | DM;
Вниз
Отличия Owner и Self Найти похожие ветки
← →
HAtCH (2006-12-15 12:29) [0]Привет!!!! Скажите плиз. чем отличаются параметры Self, Application, Owner при создании формы
Form1:=TForm.Create(Self);
Form1:=TForm.Create(Owner);
Form1:=TForm.Create(Application);
И в каком случае использовать тот или иной параметр?
Спасибо!!!
← →
alex_*** © (2006-12-15 12:32) [1]еще можно вариант: Form1:=TForm.Create(obj);
Owner, это будет тебя грохать перед тем как самому исчезнуть
← →
HAtCH (2006-12-15 12:33) [2]А self, Application и obj что за параметры
← →
Desdechado © (2006-12-15 12:39) [3]F1
← →
Anatoly Podgoretsky © (2006-12-15 12:41) [4]> HAtCH (15.12.2006 12:29:00) [0]
Это один и тот же параметр, он всего один у данной функции.
← →
HAtCH (2006-12-15 12:51) [5]Чем они отличаются, вот про Owner мне сказали (Спасибо!!), а про остальные скажите....
← →
MetalFan © (2006-12-15 12:54) [6][1] иногда лучше молчать...
отделите мухи от котлет...constructor Create(AOwner: TComponent);
параметр указывает владельца создаваемого компонента
self и owner в контесте метода класса (компонента) ссылаются: self - на себя(TObject), owner - на "владельца" (TComponent);
в рамках вопроса:
1) владельцем создаваемой формы будет компонент, в методе которого выполняется код
2) владельцем будет владелец компонента (вот такая тавтология), в методе которого выполняется код
3) владельцем формы будет Application. что есть правильно.
← →
alex_*** © (2006-12-15 12:55) [7]это ссылки на объекты, отвечающие за время жизни Form1
← →
RASkov (2006-12-15 20:46) [8]> Чем они отличаются
"Временем жизни"
По сути параметром конструктора Create указывается владелец "объекта к которому применен конструктор". Т.н. конструктор вызывается не у объекта а применяется к классу. И пока жив владелец, то может жить и объект.
Self - это неявнообъявленная переменная.
Owner - свойство типа TComponent
Application - объект типа TApplication.
Вообщем в принципе по барабану как создавать форму, просто учитывай при создании время жизни объекта владельца будующей формы. Можно вообще nil указать, только в этом случае "смерть" формы на совести программиста.
> это ссылки на объекты, отвечающие за время жизни Form1
Во-во... только наверное больше так - это ссылки на объкты, которые ограничивают время жизни создаваемой формы, в данном случае - Form1.
← →
Германн © (2006-12-16 00:28) [9]
> Можно вообще nil указать, только в этом случае "смерть"
> формы на совести программиста.
Точнее не смерть, а "эвтаназия" будет на его совести :)
← →
Джо © (2006-12-16 00:46) [10]Да умрет она и так, без участия совести программиста...
← →
MetalFan © (2006-12-16 05:57) [11]
> Да умрет она и так, без участия совести программиста...
ага, вместе с процессом 99.9%)
← →
ors_archangel © (2006-12-16 09:49) [12]А TControl.Create(self) - это правильно? - "сам себе хозяин"? Я пишу TControl.Create(nil) - "я свободный компонент, нет у меня владельца!"
← →
ЮЮ © (2006-12-16 12:09) [13]
> А TControl.Create(self) - это правильно? - "сам себе хозяин"?
>
Если пишешь в методе уже существующего объекта, например формы, то именно он и есть Self, а не толшько что создаваемый TControl.
А это называется: "Я тебя родил, я тебя и убью" :)
← →
ors_archangel © (2006-12-16 12:53) [14]
> А это называется: "Я тебя родил, я тебя и убью" :)
Тьфу ты, точно!
Страницы: 1 вся ветка
Текущий архив: 2007.01.07;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.01 c