Главная страница
    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.47 MB
Время: 0.01 c
15-1166291552
ProgRAMmer Dimonych
2006-12-16 20:52
2007.01.07
Снова от меня ламерский вопрос (по PHP на этот раз)


9-1141242252
Artem_usb
2006-03-01 22:44
2007.01.07
RTS алгоритмы реальных игр


2-1166208980
=[)eSTr0YYeR=
2006-12-15 21:56
2007.01.07
Как получить список файлов в каталоге?


2-1165919107
koha
2006-12-12 13:25
2007.01.07
Удаление строки в ADOQuery через SQL - Немогу удалить


15-1166435666
AntiUser
2006-12-18 12:54
2007.01.07
Владелец онлайнового магазина подает в суд на блоггера за...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский