![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 18.08.2009
Сообщений: 86
|
![]()
1)
Код:
Код:
Это получается в памяти могут создаваться переменные с одинаковыми именами ![]() 2) Если несколько раз нажать на Button 1 то получается что в переменную Form2 записалось несколько объектов TForm2, а если вызвать метод Form2.Free то по идеи должны 2 переменные Form2 очиститься и все формы убраться,а убирается только последняя Почему ??? Что я не правильно понимаю ![]()
Skype: Lotles-XXXX
Последний раз редактировалось Stilet; 31.08.2009 в 08:09. |
![]() |
![]() |
![]() |
#2 |
not
Участник клуба
Регистрация: 27.06.2009
Сообщений: 1,399
|
![]()
Когда вы нажимаете второй раз на кнопку создать форму
то в переменую Form2 присваивается новый указатель на форму то и есть когда вы пытаитесь уничтожить Form2.free то и уничтожаете ту форму на которую записан указатель на Form2; |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 18.08.2009
Сообщений: 86
|
![]()
Когда я запускаю приложение в переменную Form2 записывается первый указатель на на создание формы TForm2
Когда я нажимаю на кнопку создать форму, то в переменную Form2 записывается еще один указатель на создание формы TForm2 То есть в переменной Form2 записано 2 указателя на создание формы TForm2 Вы говорите, что метод Free удаляет ту форму, на которую указывает указатель в переменной Form2, но ведь в этой переменной записан указатель на 2 формы, а Free удаляет одну ![]()
Skype: Lotles-XXXX
|
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
А Free действует только на ту, которая связана с этой переменной.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 18.08.2009
Сообщений: 86
|
![]()
Понятно, только не ясно, как форма может быть без переменной
![]()
Skype: Lotles-XXXX
|
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]()
Ну как как... форма создаётся в памяти, в переменной хранится лишь указатель(грубо говоря смещения относительно начала памяти), его можно затереть, таким образом мы потеряем её(формы) местоположение и не сможем к ней обращаться =) а сама форма продолжит существование
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 18.08.2009
Сообщений: 86
|
![]()
Понял. Спасибо. Вы все Super. Форум класс !!!
![]()
Skype: Lotles-XXXX
|
![]() |
![]() |
![]() |
#9 |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
![]()
Я не совсем понял что вы делаете...
Вы хотите создать приложение с двумя формами или создавать формы динамически во время выполнения программы? Если второе, то надо бы их как-то называть (и попутно сделав проверку есть ли уже форма с таким названием): Код:
I am the First of Cyber Evolution...
I am the First to Program your Future... |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите пожалуйста не могу понять! | Kosoy135 | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 28.12.2007 19:08 |
Не могу понять задание | amandra | Помощь студентам | 11 | 16.10.2007 10:24 |
не могу понять... | Dutchman | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 14.12.2006 07:14 |
Не могу понять задание | Юдифь | Помощь студентам | 2 | 12.12.2006 17:40 |