• 0
Авторизация  
Alisson R Oliveira

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

Вопросы

Форма 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».

благодарный

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 ответа на этот вопрос

  • 0

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

1 час назад, Alisson R Oliveira сказал:

TThread.Synchronize

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

 

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

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

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

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

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

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

Application.MainForm: = FrmPrincipal;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

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

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