![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вылет на попытке высветить форму-заставку [D6, Win95/98]
MsGuns © (2002-08-27 20:02:00)Ситуация банальная. Есть осн.форма (Например, MainForm), которая криэйтится довольно долго из-за большого кол-ва разных проверок (инициализация БД и прочее). Хотел для услады глаз юзера на время создания этой формы показать другую (Допустим, MiscForm), которая просто содержит красивый пикчер и запускает невидимый медиаплейер с неким звуковым файлом. Так вот, при попытке закриэйтить и запустить MiscForm из MainForm дает ексепшн.
В конце обработчика MainForm.OnCreate я останавливаю плейер и убиваю эту форму. Но до этого не доходит..
В чем я не прав ?
MsGuns (2002-08-27 21:01:00) [21]>DenKop
По Activate - это понятно, а как по OnCreate ?
Есть, конечно такой выход:
Создать Misc как основную форму, а из нее шарить Main, но как-то это костляво, что ли.. Неужели нет решения ?
wicked (2002-08-27 20:53:00) [22]
> Так вот, при попытке закриэйтить и запустить MiscForm из
> MainFormдает ексепшн
скорей всего, ошибка здесь...
DenKop (2002-08-27 20:52:00) [23]Конкретного ответа на вопрос не знаю, так как не понял сути, но я делаю это так примерно так:
LogoForm.Tag в Design Time должно быть обнулено.
procedure TMainForm.FormActivate(Sender: TObject);
begin
if LogoForm.Tag=0 then {На случай если OnActivate возникнет ещё раз}
begin
MainForm.Enabled:=False;{Это чтобы зловещие ручки пользователя не наделали чего плохого во время инита}
LogoForm.Show;
LogoForm.Tag:=1;
Application.ProcessMessages;
.........
{Здесь выполняешь громоздкие во времени операции}
LogoForm.Close;
MainForm.Enabled:=True;{Восстанавливаем главную форму}
end;
end;
oomneeq (2002-08-27 20:34:00) [24]Пока не выполнен Аpplication.Run не запущен главный цикл обработки сообщений - основа всех гуевых вин-приложений.
А у тебя очевидно MiscForm пытается сделать то, для чего этот самый цикл необходим.
Проверить эту догадку можно убрав из МiscForm всю начинку
(MEdiaplayer)
Anatoly Podgoretsky (2002-08-27 20:31:00) [25]У тебя ошибка в 17 строке
MsGuns (2002-08-27 20:16:00) [26]>Mikhail
> Да в чем угодно
Вот это ответ !!! Я просто сражен ! Наповал !
Mikhail (2002-08-27 20:09:00) [27]Да в чем угодно