Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2019, 10:02   #1
skif68
 
Регистрация: 08.03.2019
Сообщений: 7
По умолчанию [РЕШЕНО][Delphi] модальная форма как загрузочный экран. Возникает ошибка при повторном показе главной формы.

Доброе время суток
Вопрос в следующем:
Создается модальна форма-заставка
Код:
procedure TForm1.FormShow(Sender: TObject);
begin
Form2.ShowModal;// отображение заставка
end;
форма закрывается то истечению времени и отображается главная форма Form1
с главной формы переходим на Form3
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form3.Show;
Form1.Hide;
end;
а кода возвращаюсь на Form1 выдает ошибку
Код:
procedure TForm3.Button1Click(Sender: TObject);
begin
Form3.Close;
Form1.Show;
end;
Пожалуйста, оформляйте Ваш код согласно правилам.
Понимаю что при отображении Form1 программа пытается запускать Form2 а как можно это обойти не пойму. Может что то посоветуйте.

Решение:
Цитата:
Сообщение от evg_m Посмотреть сообщение
Код:
form2:=nil; //когда она больше не нужна

if form2<>nil then form2.Showmodal;

Последний раз редактировалось Вадим Мошев; 10.03.2019 в 13:55.
skif68 вне форума Ответить с цитированием
Старый 08.03.2019, 14:18   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Пробуйте выполнять показ модальной формы внутри обработчика onCreate у главной формы.
Вадим Мошев вне форума Ответить с цитированием
Старый 08.03.2019, 18:42   #3
skif68
 
Регистрация: 08.03.2019
Сообщений: 7
По умолчанию

через onCreate не вариант т.к. после закрытия модальной формы, Form1(она является главной) не отобразится потому что создание Form1 будет перехвачено
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
form2.ShowModal;
end;
skif68 вне форума Ответить с цитированием
Старый 08.03.2019, 19:15   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
form2:=nil; //когда она больше не нужна

if form2<>nil then form2.Showmodal;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 08.03.2019, 23:30   #5
skif68
 
Регистрация: 08.03.2019
Сообщений: 7
По умолчанию

Спасибо помогло
skif68 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. Не создаётся модальная форма... Artsiom Помощь студентам 2 29.01.2013 21:11
Возникает ошибка исключения при повторном открытии формы Nik_K БД в Delphi 10 25.04.2011 23:49
Плаваящая панель(форма) не зависимая от главной формы Человек_Борща Общие вопросы Delphi 9 12.08.2010 14:44
Ошибка при показе формы. vedro-compota Общие вопросы Delphi 9 27.06.2010 20:02
модальная форма в DELPHI risc Помощь студентам 3 07.03.2008 21:31