Главная страница
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.026 c
3-1076937543
Jony
2004-02-16 16:19
2004.03.28
Кнопка ebsUpDownEh в DBEditEh


7-1072548423
Morfey
2003-12-27 21:07
2004.03.28
dll


1-1078338345
Pavel
2004-03-03 21:25
2004.03.28
события


3-1077205993
Zevsus
2004-02-19 18:53
2004.03.28
Interbase: Перехватить неправльный ввод пароля


8-1068816509
Pa5ha
2003-11-14 16:28
2004.03.28
Структура *.3DS файла