Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Закрытие формы


Hadroran ©   (2008-02-18 15:03:00) 

Привет всем.
Есть форма Form1 на ней панель и две кнопки. По нажатию на первую кнопку есть код

with TForm2.Create(Application) do
 begin
   Parent:=Panel1;
   Show;
 end;

По нажатию второй пытаемся закрыть эту вторую форму.

 Form2.Close;

Результат - ошибка. Что не так делаю. Спасибо.+


{RASkov}   (2008-02-18 15:55:00) [1]

> [12] Семеныч   (18.02.08 15:39)
> В каждом примере, который Вам кто-то показал, обязательно
> надо досконально разобраться, чтобы стала понятна каждая
> буква в нем. А после этого надо подумать и, если требуется,
> то переделать этот пример так, чтобы он перестал быть ПРИМЕРОМ
> и стал рабочим кодом ВАШЕЙ программы.

+5


Anatoly Podgoretsky   (2008-02-18 15:46:00) [2]


> Хелп. :-(

Не надо бочку катить на хелп, дело не в бобине.


Washington   (2008-02-18 15:44:00) [3]


> Семеныч   (18.02.08 15:39) [12]

+1. Выяснил на горьком опыте )


Семеныч   (2008-02-18 15:39:00) [4]

> Hadroran   (18.02.08 15:15) [9]

> Вот показали так :-)

Самая большая ошибка начинающих программистов - это бездумное (один-в-один) использование примеров кода, которые им показывают.

В каждом примере, который Вам кто-то показал, обязательно надо досконально разобраться, чтобы стала понятна каждая буква в нем. А после этого надо подумать и, если требуется, то переделать этот пример так, чтобы он перестал быть ПРИМЕРОМ и стал рабочим кодом ВАШЕЙ программы.

Только так. Иначе будете ловить баги мешками.


Семеныч   (2008-02-18 15:33:00) [5]

> Hadroran

Первая кнопка:

if Form2 = nil then
begin
 Form2 := TForm2.Create(Application);
 try
   Form2.Parent := Panel1;
   Form2.Show;
 except
   FreeAndNil(Form2);
   raise;
 end;
end;


Вторая кнопка:
FreeAndNil(Form2);


Hadroran   (2008-02-18 15:21:00) [6]


> Palladin ©   (18.02.08 15:12) [7]

помоги плиз.


Hadroran   (2008-02-18 15:15:00) [7]

Не инициализировал... Боюсь дальше спрашивать...


> Washington ©   (18.02.08 15:12) [8]
> А чё ей в панели делать?

Вот показали так :-)


Palladin   (2008-02-18 15:12:00) [8]

это, в первую очередь, переменная, которая содержит какое либо значение, в случае объекта класса (а форма является объектом класса) этим значением является указатель. ты это значние инициализировал прежде обращатся к нему?


Washington   (2008-02-18 15:12:00) [9]

А чё ей в панели делать?


Hadroran   (2008-02-18 15:10:00) [10]

форма


Palladin   (2008-02-18 15:09:00) [11]

ну да дело все равно не в этом... form2 это чего по твоему?


Palladin   (2008-02-18 15:08:00) [12]

чего обманываешь то... не может хелп такому плохому научить...


Hadroran   (2008-02-18 15:07:00) [13]


> кто тебя такому плохому научил?

Хелп. :-(


Сергей М.   (2008-02-18 15:06:00) [14]


> Что не так делаю


Обращаешься к мусору)


Palladin   (2008-02-18 15:05:00) [15]


>    Parent:=Panel1;

кто тебя такому плохому научил?


Наверх

Титульная страница Поиск, карта сайта Написать письмо