Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: CL | DM;

Вниз

В OnCreate Формы требуется Application.Terminate но...   Найти похожие ветки 

 
Silver_ ©   (2004-03-04 16:00) [0]

продолжаются создаваться формы. Как этого избежать???

[--- .dpr ---]
...
begin
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.CreateForm(TForm2, Form2);
 //Вот тут прога долгжна закончится т.е. не должна создавать [Form3, ...] а сразу Application.Run;
 Application.CreateForm(TForm3, Form3);
 ...
 Application.Run;
end;


[ --- Form2.pas ---]
...
procedure TForm2.FormCreate(Sender: TObject);
begin
   Application.Terminate;
end;
...

Выход конечно же есть:

[--- .dpr ---]
...
begin
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.CreateForm(TForm2, Form2);
 if Form2.Rabotaem then
   begin
     Application.CreateForm(TForm3, Form3);
     ...
   end;
 Application.Run;
end;


[ --- Form2.pas ---]
...
 public
   Rabotaem: Boolean
...
procedure TForm2.FormCreate(Sender: TObject);
begin
 Rabotaem := False;
end;
...

Но хотелось бы поизящней да и без правки [--- .dpr ---]


 
Семен Сорокин ©   (2004-03-04 16:09) [1]

а зачем тебе Application.Run если ты делаешь Application.Terminate?, и почему нельзя править Dpr?


 
Digitman ©   (2004-03-04 16:16) [2]

procedure TForm2.FormCreate(Sender: TObject);
begin
... формирование условия Условие
if Условие then
  Application.CreateForm(TForm3, Form3);
end;


 
Silver_ ©   (2004-03-04 17:29) [3]


> почему нельзя править Dpr?

Можно просто хочу в компоненте сделать по условию Aplication.Terminate и прога тут-же должна закрыться (а не создавать формы которые должны создаваться после формы на которой положен компонент а уж потом закрываться (т.е. auto-create если таковые имеются))


> а зачем тебе Application.Run если ты делаешь Application.Terminate

Ну пусть сразу закрывается Просто смотрел что Application.Terminated = True только после Application.Run;


 
Silver_ ©   (2004-03-05 14:00) [4]

и тишина ... :(((



Страницы: 1 вся ветка

Текущий архив: 2004.03.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
1-1078909890
MadGhost
2004-03-10 12:11
2004.03.28
как в функцию передать переменную по ссылке?


4-1073897358
NewJack
2004-01-12 11:49
2004.03.28
Как программно сменить принтер по умолчанию?


8-1069498012
BrainStorm
2003-11-22 13:46
2004.03.28
Как задать разрешение рисунка (dpi)?


1-1078385298
Юкс
2004-03-04 10:28
2004.03.28
Создание интерпретатора


1-1078862979
zep
2004-03-09 23:09
2004.03.28
мастера есть один лаймерский вопрос Real в String