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

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

Трабла с формами


vicky ©   (2004-08-25 18:18:00) 

Помогите разобраться плиз...
Есть 2 формы типа fsNormal: одна visible:=true, другая=false, по нажатию кнопки первой формы, свойство visible второй устанавливается true. После закрытия этой второй формы и повторного нажатия на эту кнопку возникает ошибка... Наверняка я тут что-то не так делаю, и надо использовать может быть какое-нибудь другое свойство или метод. Поскажите, плиз...


vicky   (2004-08-25 19:10:00) [1]

Да, все нормально пашет...;)))


Ega23   (2004-08-25 19:04:00) [2]

Получилось?


vicky   (2004-08-25 19:03:00) [3]

Thanx...надеюсь с С++ не придется "так близко сталкиваться" ...


Ega23   (2004-08-25 18:59:00) [4]

и начинаю тихо ненавидеть Delphi, так толком и не познакомившись...

Не боись, C++ ещё страшнее!   :о)


Ega23   (2004-08-25 18:58:00) [5]

и нет времени сидеть и теоретически подготавливаться...

Ну вот так бросаться словами не стоит, у всех тен времени, однако народ сидит и разбирается.  :о)

Самый простой выход из ситуации: Из файла проекта (.dpr который) выбрасываем Application.CreateForm(TForm2, Form2);

Теперь в обработчике той несчастной кнопки пишем следующее:

procedure TForm1.Button1Click(Sender : TObject);
begin
Application.CreateForm(TForm2, Form2);
try
 Form2.ShowModal;
finally
 Form2.Free;
 Form2:=nil;
end;
end;


Должно заработать.


vicky   (2004-08-25 18:53:00) [6]

Даже более того: начет каши в голове с тобой полностью согласна и начинаю тихо ненавидеть Delphi, так толком и не познакомившись...


vicky   (2004-08-25 18:52:00) [7]

Да я и не обижаюсь, с Delphi общаюсь практически первый раз и нет времени сидеть и теоретически подготавливаться...
Да задача именно такая, фокус тут не главное, главное, чтобы при повторном нажатии эта вторая форма повторно появлялась...


Ega23   (2004-08-25 18:49:00) [8]

Ты меня извини, не в обиду сказано будет, ИМХО у тебя серьёзная каша в голове.

Давай по-порядку.
Насколько я понял, задача у тебя следующая: Есть некая главная фома, есть ещё одна какая-то. По нажатию кнопки на главной форме должна показываться вторая, по закрытию второй фокус должен вернуться на главную, так?


vicky   (2004-08-25 18:43:00) [9]

2 Ega23 ©
Почитала про property OnCloseQuery: TCloseQueryEvent;и что? мне не надо никакого диалога при закрытии. Просто не знаю где procedure Hide;писать, вот и все...


Ega23   (2004-08-25 18:32:00) [10]

vicky ©   (25.08.04 18:29) [3]

"Гыы, сынку, LOL!!!  :-)" (с)

Почитай хелп про событие OnCloseQuery.


Ega23   (2004-08-25 18:31:00) [11]

После закрытия этой второй формы и повторного нажатия на эту кнопку возникает ошибка...

1. Каким образом происходит закрытие?
2. Какая ошибка возникает? Не Access Violation ли?
3. Каким образом создаются формы?


vicky   (2004-08-25 18:29:00) [12]

Thanx...с Show, все заработало нормально, только вот где Hide писать:

TInfoForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 Hide;
end;

???


antonn   (2004-08-25 18:24:00) [13]

Странно... А у меня все работает. Может у тебя ресурсы создает и не освобождает? компонент какой в реале создает?


antonn   (2004-08-25 18:20:00) [14]

Show и hide почему не используете?
Щас попробую ваш глюкс...


Наверх

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