![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
В програме много форм, я не хочу их криейтить все сразу!! [D6, Win2k]
Relaxxx © (2004-11-15 11:00:00)В програме много форм, я не хочу их криейтить все сразу, поэтому когда нажимается кнопка вначале форма криэйтится, а потом показывается. Подскажите как сделать чтобы я не создавал форму всегда при нажатии кнопки, а если она создана, то просто открыл её!
Юрий Зотов (2004-11-15 11:09:00) [1]type
TForm2 = class(TForm)
...
public
constructor Create(AOwner: TComponent); overrride;
destructor Destroy; override;
end;
// Вместо вызова конструктора всегда вызываем эту функцию:
function Form2(AOwner: TComponent): TForm2;
implementation
var
_Form2: TForm2;
function Form2(AOwner: TComponent): TForm2;
begin
if _Form2 = nil then
Result := TForm2.Create(AOwner)
else
Result := _Form2
end;
constructor TForm2.Create(AOwner: TComponent);
begin
inherited;
if _Form2 = nil then
_Form2 := Self
end;
destructor TForm2.Destroy; override;
begin
if _Form2 = Self then
_Form2 := nil;
inherited
end;