|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
31.08.2009, 07:35 | #1 |
Пользователь
Регистрация: 18.08.2009
Сообщений: 86
|
Не могу понять
1)
Код:
Код:
Это получается в памяти могут создаваться переменные с одинаковыми именами 2) Если несколько раз нажать на Button 1 то получается что в переменную Form2 записалось несколько объектов TForm2, а если вызвать метод Form2.Free то по идеи должны 2 переменные Form2 очиститься и все формы убраться,а убирается только последняя Почему ??? Что я не правильно понимаю
Skype: Lotles-XXXX
Последний раз редактировалось Stilet; 31.08.2009 в 08:09. |
31.08.2009, 08:05 | #2 |
not
Участник клуба
Регистрация: 27.06.2009
Сообщений: 1,399
|
Когда вы нажимаете второй раз на кнопку создать форму
то в переменую Form2 присваивается новый указатель на форму то и есть когда вы пытаитесь уничтожить Form2.free то и уничтожаете ту форму на которую записан указатель на Form2; |
31.08.2009, 10:04 | #3 |
Пользователь
Регистрация: 18.08.2009
Сообщений: 86
|
Когда я запускаю приложение в переменную Form2 записывается первый указатель на на создание формы TForm2
Когда я нажимаю на кнопку создать форму, то в переменную Form2 записывается еще один указатель на создание формы TForm2 То есть в переменной Form2 записано 2 указателя на создание формы TForm2 Вы говорите, что метод Free удаляет ту форму, на которую указывает указатель в переменной Form2, но ведь в этой переменной записан указатель на 2 формы, а Free удаляет одну
Skype: Lotles-XXXX
|
31.08.2009, 10:07 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
А Free действует только на ту, которая связана с этой переменной.
I'm learning to live...
|
|
31.08.2009, 11:31 | #6 |
Пользователь
Регистрация: 18.08.2009
Сообщений: 86
|
Понятно, только не ясно, как форма может быть без переменной
Skype: Lotles-XXXX
|
31.08.2009, 11:48 | #7 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Ну как как... форма создаётся в памяти, в переменной хранится лишь указатель(грубо говоря смещения относительно начала памяти), его можно затереть, таким образом мы потеряем её(формы) местоположение и не сможем к ней обращаться =) а сама форма продолжит существование
|
31.08.2009, 12:00 | #8 |
Пользователь
Регистрация: 18.08.2009
Сообщений: 86
|
Понял. Спасибо. Вы все Super. Форум класс !!!
Skype: Lotles-XXXX
|
31.08.2009, 20:39 | #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 |