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

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

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


snake_r ©   (2005-02-21 11:44:00) 

Здравствуйте! подскажите, как можно в методе формы закрыть ее, а потом в немже вызвать другую форму?


КаПиБаРа   (2005-02-21 12:25:00) [1]

Чапаев ©   (21.02.05 12:21) [7]
параметром следует передавать nil и только nil


Не правда.


Чапаев   (2005-02-21 12:21:00) [2]

>  AnotherForm := TAnotherForm.Create(...); // Только не Self!!! его уже нет!!!
>  AnotherForm.Show;
>  AnotherForm.Free;
Если сам вызываешь Free(), то в Create() параметром следует передавать nil и только nil.


Smithson   (2005-02-21 12:16:00) [3]

Согласен,

...

там забыл. Я просто идею показал :)


Инструктор   (2005-02-21 11:55:00) [4]


> AnotherForm := TAnotherForm.Create(...); // Только не Self!!!
> его уже нет!!!
>   AnotherForm.Show;
>   AnotherForm.Free;


И сразу Free?


Smithson   (2005-02-21 11:50:00) [5]

Опередили, монстры :)


Smithson   (2005-02-21 11:48:00) [6]

Код формы не уничтожается при ее закрытии (ликвидации). Локальные переменные тоже принадлежат процедуре.
Поэтому пишешь что-то типа

Procedure TFormX.Proc1;
var AnotherForm: TAnotherForm
...
begin
 ....
  Close; // Или Free, смотря по потребности
  AnotherForm := TAnotherForm.Create(...); // Только не Self!!! его уже нет!!!
  AnotherForm.Show;
  AnotherForm.Free;
end;


Юрий Зотов   (2005-02-21 11:47:00) [7]

И, если надо, то в начале добавить еще Hide.


Юрий Зотов   (2005-02-21 11:46:00) [8]

begin
 Release;
 Вызвать_другую_форму;
end;


Наверх

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