if frmSplash.Visible then
begin
//MessageDlg('видимая', System.UITypes.TMsgDlgType.mtInformation, [system.UITypes.TMsgDlgBtn.mbOk], 0);
end;
Sleep(1000);
Application.CreateForm(TfrmDM, frmDM);
Application.CreateForm(TfrmMain, frmMain);
frmSplash.Hide;
Application.Run;
форма frmSplash невидима при закрузке, если комментарий стять со строки MessageDlg, то становиться видимой
вот такие чудеса
далее при создании главной формы будет код, если меняю текст в splash форме, то ничего не происходит
procedure TfrmMain.FormCreate(Sender: TObject);
if not FileExists(GetCurrentDir + '\base.db') then
begin
Application.ProcessMessages;
frmSplash.LabelMessage1.Text := 'Создание базы данных';
frmSplash.LabelMessage2.Text := 'Создание таблиц'; // на экране ничего не меняет
Вопрос
skaplich
Всем привет. в VCL таких проблем не имел.
Delphi XE8
файл проекта
Application.Initialize;
frmSplash := TfrmSplash.Create(Application);
frmSplash.LabelMessage1.Text:='Загрузка программы';
frmSplash.LabelMessage2.Text:='';
frmSplash.Show;
if frmSplash.Visible then
begin
//MessageDlg('видимая', System.UITypes.TMsgDlgType.mtInformation, [system.UITypes.TMsgDlgBtn.mbOk], 0);
end;
Sleep(1000);
Application.CreateForm(TfrmDM, frmDM);
Application.CreateForm(TfrmMain, frmMain);
frmSplash.Hide;
Application.Run;
форма frmSplash невидима при закрузке, если комментарий стять со строки MessageDlg, то становиться видимой
вот такие чудеса
далее при создании главной формы будет код, если меняю текст в splash форме, то ничего не происходит
procedure TfrmMain.FormCreate(Sender: TObject);
if not FileExists(GetCurrentDir + '\base.db') then
begin
Application.ProcessMessages;
frmSplash.LabelMessage1.Text := 'Создание базы данных';
frmSplash.LabelMessage2.Text := 'Создание таблиц'; // на экране ничего не меняет
Sleep(3000); // чтобы увидеть
end;
Не меняет текст
Application.ProcessMessages;
frmSplash.LabelMessage2.Repaint;
не помогает
Если начинаю работать
Application.CreateForm(TfrmDM, frmDM);
Application.CreateForm(TfrmMain, frmMain);Application.CreateForm(TfrmDM, frmDM);
frmDm.FDConnection1.Params.Add('Database=' + GetCurrentDir + '\base.db');
frmDm.FDConnection1.Params.Add('DriverID=SQLite'); // тип БД
в файле проекта - валиться вообще AppCrash
а в TfrmMain.FormCreate - работает код
Нужна реально работающая Splash форма с возможностью изменения текста Label и чтобы это отображалось на экране.
Splash форма не убивается, а Hide, в дальнейшем можно использовать ее отображение ,когда программа работает какое-то время
Жду ответов.
Ссылка на комментарий
7 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.