Главная страница
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.041 c
15-1166239012
Cosinus
2006-12-16 06:16
2007.01.07
Напомните, пожалуйста, название программы для отлова сообщений...


2-1165259127
Sewix
2006-12-04 22:05
2007.01.07
Отображение в dbgrid таблиц из разных БД


6-1155156432
IrkaShkirka252
2006-08-10 00:47
2007.01.07
Включить программно роутинг


2-1166288517
Viper_Omsk
2006-12-16 20:01
2007.01.07
Процедура при нажатии на "крест"


8-1147940602
Белый Орёл
2006-05-18 12:23
2007.01.07
Быстрая перемотка DVD