Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2011, 11:48   #1
BlackFishSQL
Форумчанин
 
Аватар для BlackFishSQL
 
Регистрация: 02.04.2011
Сообщений: 136
По умолчанию Вопрос про конструктор?

Здравтсвуйте!
Возник вопрос (теоритический).Помогите а то непонят толком доконца. есть 2 формы (1 главная в списке автосоздаваемых MainForm) а вторая в списке доступных(SplashForm). Есть процедура
Код:
procedure TMainForm.Button1Click(Sender: TObject);
begin
SplashForm:=TSplashForm.Create(Owner);
SplashForm.show;
1)Меня интересует следущее, этому параметру owner передаются
владелец окна А ТОЕСТЬ MainForm??? или же чтобы показать что владельцем является главная форма нада в качестве параметра указать SplashForm:=TSplashForm.Create(Main Form.Owner) ??? Но тогда что передаётся в первом случае
Код:
SplashForm:=TSplashForm.Create(Owner) ??
2) в качестве этого параметра можно передавать nill тоесть владелец отсутствует, да?? А почему если форма незнает своего владельца то при закрытии MainForm закрывается и SplashForm??? она ж незнает владельца и получается сама по себе.
BlackFishSQL вне форума Ответить с цитированием
Старый 03.07.2011, 11:57   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)у вас по сути Self.Owner то есть владелец формы обрабатывающей событие.
лучше писать владельцем саму форму в данном случае.
2)у вас MainForm это основная форма приложения, при её закрытии закрывается все приложение.
владелец тут не причем.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.07.2011, 12:18   #3
BlackFishSQL
Форумчанин
 
Аватар для BlackFishSQL
 
Регистрация: 02.04.2011
Сообщений: 136
По умолчанию

1)у вас по сути Self.Owner то есть владелец формы обрабатывающей событие.
лучше писать владельцем саму форму в данном случае.

с 1ым непонятно поясните что за параметр owner тогда т.к. с этим я понял
Код:
SplashForm:=TSplashForm.Create(Main Form.Owner)
а чем тогда отличается создание формы способом в моём 1 посту
от создания формы с помощью обьекта Application тоесть Application.CreateForm(TSplashForm, SplashForm).
BlackFishSQL вне форума Ответить с цитированием
Старый 03.07.2011, 12:49   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

SplashForm:=TSplashForm.Create(Owne r);
эквивалентно в вашем случае
SplashForm:=TSplashForm.Create(Main Form.Owner)
SplashForm:=TSplashForm.Create(Appl ication);

А во 2 посте вам предлагалось использовать
SplashForm:=TSplashForm.Create(Self );
SplashForm:=TSplashForm.Create(Main Form);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос про Свойство Visible и про иконки в imagelist Kappi4 Компоненты Delphi 2 21.05.2010 13:10
Вопрос про C# BanzoO Общие вопросы C/C++ 1 02.07.2009 03:47
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
вопрос про IP ЧИЖ Работа с сетью в Delphi 1 23.06.2008 13:53
У меня вопрос про базы данных,а точнее про таблицы!!! Alexij Общие вопросы Delphi 1 13.04.2008 23:24