![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Трабла с формами
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 почему не используете?
Щас попробую ваш глюкс...