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

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

Работа с окнами [D7, XP]


Poroshm ©   (2007-08-17 12:10:00) 

Здравствуйте! Подскажите как сделать чтобы одна форма(главная) скрылась а другая открылась и стала активной.
После form2.show; открывается форма, но активной не становится, а главную закрыть не как не могу. после form1.visible=false; идут ошибки.


Anatoly Podgoretsky   (2007-08-19 12:53:00) [1]

Это мы уже слышали.


Poroshm   (2007-08-18 23:16:00) [2]


> ...
> Form1.Hide;
> Form2:=TForm2.Create(Application);
> try
>  .....
>  Form2.ShowModal;
>  if Form2.ModalResult=mrOk then....
> finally
>  Form2.Free;
>  Form1.Show;
> end;

Вот это не работает


iXT   (2007-08-18 16:08:00) [3]

> где это все надо прописать

там, где хочешь, что бы было :), а вообще брось эту затею. не твое это.


{RASkov}   (2007-08-18 15:28:00) [4]

> и что такое AutoCreate?

Это строчки в DPR файле
Application.CreateForm(TFormN, FormN);
Или что тоже самое, но более верное для начала, в Project>Options - Auto-create forms


poroshm   (2007-08-18 13:34:00) [5]

Ув. Мастера обратите пожалуйста внимание на мой вопрос.


poroshm   (2007-08-17 21:16:00) [6]

Просите за тупость, но где это все надо прописать? и что такое AutoCreate?


poroshm   (2007-08-17 21:16:00) [7]

Просите за тупость, но где это все надо прописать? и что такое AutoCreate?


iXT   (2007-08-17 16:49:00) [8]

...
Form1.Hide;
Form2:=TForm2.Create(Application);
try
 .....
 Form2.ShowModal;
 if Form2.ModalResult=mrOk then....
finally
 Form2.Free;
 Form1.Show;
end;

+в файле проекта форму не создавать (Вынуть из AutoCreate);


Anatoly Podgoretsky   (2007-08-17 16:47:00) [9]

> Альф  (17.08.2007 16:28:04)  [4]

Он утверждает, что у него ругается про form2.show


Альф   (2007-08-17 16:28:00) [10]


> Anatoly Podgoretsky ©   (17.08.07 16:19) [3]
> > Poroshm  (17.08.2007 16:12:02)  [2]
>
> Смени свойство Visible


Анатолий - думаю не поможет, он же делает вот это:

> procedure TForm1.FormShow(Sender: TObject);
> begin
> if paramStr(1)<>'system.ini' then
>  begin
> form2.show;
> form2.BringToFront;
> form1.hide;
>    end;
> end;


Poroshm   (2007-08-17 16:28:00) [11]

Поменял, окно главной формы(form1) стало видимым, Окно настройки(form2) тоже, но теперь выдается сообщение Access voliatio at adress  EFF343 in module....... вообще ни че не понимаю!!!!!!!!!!!!!!!!!!!!!!!


Anatoly Podgoretsky   (2007-08-17 16:19:00) [12]

> Poroshm  (17.08.2007 16:12:02)  [2]

Смени свойство Visible


Poroshm   (2007-08-17 16:12:00) [13]

В принципе это работает, но мне нодо чтобы form2 (form2 - настройка пиложения) появлялась в момент запуска приложения, пробовал сделать это так:

procedure TForm1.FormShow(Sender: TObject);
begin
if paramStr(1)<>'system.ini' then
 begin
form2.show;
form2.BringToFront;
form1.hide;
   end;
end;

но при запуске form2 выдается Cannot Chage Visible in OnShow or OnHide.


Elen   (2007-08-17 13:20:00) [14]

form2.show;
form2.BringToFront;
form1.visible:=false;

P.S. Ошибки нужно не прятать.


Наверх

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