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

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

В програме много форм, я не хочу их криейтить все сразу!! [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;


Наверх

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