Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-1078596465
Sphinx
2004-03-06 21:07
2004.03.28
Вывод текста на ДескТоп


8-1068309751
g-l-u-k
2003-11-08 19:42
2004.03.28
TActiveMovie


14-1077690128
Kerk
2004-02-25 09:22
2004.03.28
Злой автобус


3-1077783340
Mamed
2004-02-26 11:15
2004.03.28
SQL Transaction(SQlServer 2000)


7-1072706569
andruxin
2003-12-29 17:02
2004.03.28
как отследить выключение монитора.




   Наверх