|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Не корректно работает второй раз Form.Show
Есть несколько форм, цикл их запуска и заполнения таков
Код:
Form1 -> Form1.Hide; Form2.Show; Form2 -> Form3.ShowModal; Form3 -> Form2.Hide; Form3.Hide; Form5.Show; Form5 -> Form5.Hide; Form6.Show; Form6 -> Form6.Hide; Form7.Show; Form7 -> Form7.Hide; Form8.Show; Далее на восьмой форме нужно нажать кнопку и еще раз перейти к заполнению Form2(ну и далее еще раз все формы по циклу), но при выполнении Код:
procedure TForm8.Button2Click(Sender: TObject); begin Form8.Hide; Form2.Show; end; |
#2
|
||||
|
||||
а если вместо showmodal просто show?
и лучше бы создавать и разрушать их Я за здоровый экстрим! Спасибо за "спасибо") |
Этот пользователь сказал Спасибо Mrak за это полезное сообщение: | ||
Sheitan48 (19.05.2013)
|
#3
|
|||
|
|||
Цитата:
Что есть создавать и разрушать формы? Создание форм в проджекте по дефолту, ничего не менял Код:
Application.Initialize; Application.MainFormOnTaskbar := True; Application.Title := 'Абитуриент'; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.CreateForm(TForm3, Form3); Application.CreateForm(Tdm, dm); Application.CreateForm(TForm5, Form5); Application.CreateForm(TForm6, Form6); Application.CreateForm(TForm7, Form7); Application.CreateForm(TForm8, Form8); Application.CreateForm(TForm9, Form9); |
#4
|
|||
|
|||
О_О Эм, нифига не понял с чем это связано, но да, убрал showmodal с третьей формы и вторая нормально открылась и заработала... В чем прикол?)))
|
#5
|
||||
|
||||
ну меня смущает, что со второй модально третью, а с нее пятую, а в оконцове опять вторую.
Проект - настройки - формы - из списка автосоздаваемых убрать все, кроме первой. При вызове формы Код:
if (not Assigned(Form2)) then Form2:=TForm2.Create(form2); form2.show; Код:
Action:=caFree; form2:=nil; У самого были траблы именно с showmodal, непонятная ошибка с чтением памяти при повторных показах окна. Вылечилось через show. Я за здоровый экстрим! Спасибо за "спасибо") |
Этот пользователь сказал Спасибо Mrak за это полезное сообщение: | ||
Sheitan48 (19.05.2013)
|
#6
|
|||
|
|||
Я так понимаю при
Код:
Action:=caFree; form2:=nil; Да и смысл в том что это программка заполнения заявления абитуриента на поступление в вуз на определенную специальность, соответственно когда пытаюсь открыть второй раз вторую форму - значит пользователь хочет заполнить заявление еще на одну специальность и нужно чтобы уже введенные им данные остались на своих места на всех формах)) Но тем не менее запомню этот "финт ушами" с созданием форм ручками) И да, спасибо за подсказку с showmodal |
#7
|
||||
|
||||
да, очистится, это уберет форму из памяти.
у меня уже привычка их в момент вызова создавать и ломать потом. как-то правильнее себя чувствуешь пожалуйста Я за здоровый экстрим! Спасибо за "спасибо") |
Этот пользователь сказал Спасибо Mrak за это полезное сообщение: | ||
Sheitan48 (22.05.2013)
|