![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Закрытие формы
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;