C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Заставка для программы, Как сделать заставку программы
jeka_t
Отправлено: 15.02.2005, 14:24


Не зарегистрирован







У меня запуск формы долго грузиться из-за SQL-запросов на старых ПК...
Хочу сделать заставку, что бы пользователь понимал, что идёт загрузка программы. приблизительно вот код:

try
{
frmStart=new TfrmStart(Application);
frmStart->Show();
frmStart->Update();
Application->Initialize();
Application->CreateForm(__classid(TfrmObjects), &frmObjects);
Application->CreateForm(__classid(TfrmStart), &frmStart);
Application->CreateForm(__classid(TfrmNewObject), &frmNewObject);
frmStart->Close();
delete frmStart;
Application->Run()
[CODE]
Но пишет ошибку...
** full_lamer
Отправлено: 15.02.2005, 14:34


Не зарегистрирован







попробуйте так
CODE

try
{
frmStart=new TfrmStart(Application);
Application->Initialize();
[B]frmStart->Show();
frmStart->Update();[/B]
Application->CreateForm(__classid(TfrmObjects), &frmObjects);
Application->CreateForm(__classid(TfrmStart), &frmStart);
Application->CreateForm(__classid(TfrmNewObject), &frmNewObject);
frmStart->Close();
delete frmStart;
Application->Run()
** full_lamer
Отправлено: 15.02.2005, 14:35


Не зарегистрирован







хотел вставить полужирный не получилось... )))
** full_lamer
Отправлено: 15.02.2005, 14:43


Не зарегистрирован







и еще чуть не забыл:
необходимо чтобы Ваша форма frmStart возвращала значение, а после этого проверить что вернула форма к примеру так:
CODE
frmStart->Show();
frmStart->Update();
if (!frmStart->isdone) return 0;

и еще эту форму необходимо создать перед вызовом:
CODE
Application->CreateForm(__classid(TfrmStart), &frmStart);


olegenty
Отправлено: 15.02.2005, 15:05


Ветеран

Группа: Модератор
Сообщений: 2412



чушь мелете про
QUOTE
Application->CreateForm(__classid(TfrmStart), &frmStart);
, батенька
jeka_t
Отправлено: 15.02.2005, 16:16


Не зарегистрирован







Не работает тоже...
olegenty
Отправлено: 15.02.2005, 16:23


Ветеран

Группа: Модератор
Сообщений: 2412



вот рабочий код:
CODE

        fmSplash = new TfmSplash(Application);
        fmSplash->Show();
        fmSplash->Update();

        Application->Initialize();
        Application->Title = "ПБД";
        Application->CreateForm(__classid(Tfm), &fm);
        Application->CreateForm(__classid(Tdm), &dm);
        Application->CreateForm(__classid(TfmPDRoutes), &fmPDRoutes);
        Application->HelpFile = ExtractFilePath(Application->ExeName) + "pdb.hlp";
        fmSplash->Hide();
        delete fmSplash;

        Application->Run();
** full_lamer
Отправлено: 15.02.2005, 17:12


Не зарегистрирован







QUOTE
чушь мелете про

согласен, прошу прощения — не внимательность...

Вернуться в Вопросы программирования в C++Builder