Перейти к содержанию
Fire Monkey от А до Я
  • 0

Форма Splash с потоком, без потери заголовка?


Alisson R Oliveira

Вопрос

Форма Splash с потоком, без потери заголовка?

Добрый день, извините, если я публикую неправильный тропик, но я не думаю, что это большое дело для моих сомнений.

Я изменяю способ отображения всплеска моего приложения, теперь у меня есть форма всплеска («frmSplash»), которая выполняет всю загрузку.

procedure TfrmSplash.FormActivate(Sender: TObject);
begin

  Application.CreateForm(TdmRestClient, dmRestClient);
  Application.CreateForm(TdmDadosLocais, dmDadosLocais);
  Application.CreateForm(TdmListaImagens, dmListaImagens);
  Application.CreateForm(TdmControllerPromocoes, dmControllerPromocoes);
  Application.CreateForm(TdmControllerOfertas, dmControllerOfertas);
  Application.CreateForm(TdmControllerEmpresas, dmControllerEmpresas);
  Application.CreateForm(TdmControllerUsuario, dmControllerUsuario);
  Application.CreateForm(TfrmPrincipal, frmPrincipal);
  frmPrincipal.Show;
  Application.MainForm := frmPrincipal;
  frmPrincipal.FullScreen := True;
  Close;

end;

Поэтому у меня странная ситуация ... так что она отображается только после выполнения всего процесса ... то есть, на экране уходит мало времени, и если я использую Thread, он теряет свойство «Нет TitleBar» ...

procedure TfrmSplash.FormActivate(Sender: TObject);
begin

 TTask.Run(
      procedure() begin 

         TThread.Synchronize(nil,
          procedure
          begin

             Application.CreateForm(TdmRestClient, dmRestClient);
             Application.CreateForm(TdmDadosLocais, dmDadosLocais);
             Application.CreateForm(TdmListaImagens, dmListaImagens);
             Application.CreateForm(TdmControllerPromocoes, dmControllerPromocoes);
             Application.CreateForm(TdmControllerOfertas, dmControllerOfertas);
             Application.CreateForm(TdmControllerEmpresas, dmControllerEmpresas);
             Application.CreateForm(TdmControllerUsuario, dmControllerUsuario);
             Application.CreateForm(TfrmPrincipal, frmPrincipal);
             frmPrincipal.Show;
             Application.MainForm := frmPrincipal;
             frmPrincipal.FullScreen := True;
             Close;

          end);

 end);


конец;

Кто-нибудь знает, как использовать Thread, не теряя тему «No TitleBar».

благодарный

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

 

18 часов назад, GASCHE сказал:

А чем второй способ отличается от первого если после 

все выполняется в основном потоке?

Да, все работает на основном потоке.

Теперь возникает ошибка нарушения памяти после того, как вы начали использовать этот способ Splash, и следующее у меня есть функции, которые находятся в разделе «Public» моего frmPrincipal, который я назвал другой формой ... теперь, когда я вызываю их ошибку доступ к памяти, может кто-нибудь мне помочь ???

Я действительно не знаю, почему эти ошибки, так как во время выполнения я меняю MainForm приложения

Application.MainForm: = FrmPrincipal;

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...