Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.49 MB
Время: 0.036 c
1-1163753342
Handle
2006-11-17 11:49
2007.01.07
PopupMenu


15-1166418362
sl8er
2006-12-18 08:06
2007.01.07
StrPos в Oracle


15-1166159323
KSergey
2006-12-15 08:08
2007.01.07
Сегодня ознакомился с новой религией


2-1166360921
benderAnt
2006-12-17 16:08
2007.01.07
Сообщение об ошибке


15-1164874807
TohaNik
2006-11-30 11:20
2007.01.07
Вот, влетел на задачке для 5-го класса.