|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.10.2014, 15:02 | #1 |
Пользователь
Регистрация: 26.10.2014
Сообщений: 27
|
Оператор self
Есть код, который позволяет создавать на форме кнопку, по нажатию на которую создается новая форма с кнопкой. Вот в чем вопрос: В этой программе родителем новосозданной формы является предыдущая форма, или же родителем всех форм является одна форма, самая первая? Self он же указывает на объект, который вызвал данный метод.
Код:
Последний раз редактировалось Stilet; 29.10.2014 в 15:22. |
29.10.2014, 15:06 | #2 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
29.10.2014, 15:35 | #3 |
Пользователь
Регистрация: 26.10.2014
Сообщений: 27
|
т.е. родителем следующей формы является предыдущая?
|
29.10.2014, 15:59 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Нет, здесь это владелец формы. А родитель не задан
http://www.firststeps.ru/cbuilder/r.php?41
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
29.10.2014, 16:39 | #5 |
Пользователь
Регистрация: 26.10.2014
Сообщений: 27
|
Спасибо за ценный материал. Т.е. форма является владельцем последующе созданной формы, а при удалении владельца память освобождается автоматически для потомков. А тогда получается, если я создал 5 форм динамически(не считая 6 формы, которая создалась сама при запуске приложения), то если я закрываю 1 форму, то последующие 4 должны закрыться сами по себе, т.к. их владедец закрыт. Но этого не происходит, формы остаются живы. Закрываются они только при закрытии первоначально автоматически запущенной формы. Почему так происходит?
|
29.10.2014, 16:49 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Закрытие не значит уничтожение. Уничтожение владельца уничтожает и подчиненные. Поставте в OnClose владельца Action:=caFree; и посмотрите результат
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 29.10.2014 в 16:51. |
29.10.2014, 21:26 | #7 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Код:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Условный оператор,оператор цикла и массив | Klark73 | Microsoft Office Excel | 1 | 19.12.2011 17:09 |
Оператор выбора или условный оператор[Перенесено из JavaSE] | merhaba1992 | Помощь студентам | 1 | 20.01.2011 17:06 |
Условный оператор. Оператор выбора. Pascal | Сержuk | Помощь студентам | 4 | 17.11.2010 12:50 |
Вычислить используя, оператор цикла for и оператор безусловного пе | Knubbe | Помощь студентам | 1 | 18.12.2009 10:24 |