Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.01.07;
Скачать: [xml.tar.bz2];

Вниз

Отличия 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.012 c
6-1155286255
Exot
2006-08-11 12:50
2007.01.07
Перехват данных


15-1166102408
Vlad Oshin
2006-12-14 16:20
2007.01.07
SQL. where 1=2 Это зачем так писать?


6-1154810901
TGX
2006-08-06 00:48
2007.01.07
Поиск компьютеров в локальной сети


15-1166101735
Ученик чародея
2006-12-14 16:08
2007.01.07
Был сегодня на предзащите докторской ф-м.н.


2-1166449505
apak
2006-12-18 16:45
2007.01.07
Синхронное листание ListBox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский