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

IS1

Пользователи
  • Постов

    9
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные IS1

  1. В 14.03.2019 в 11:46, gonzales сказал:

    Прошу прощения за долгое отсутствие

    Вот накидал простой исходникtest10.3.zip. В проекте 3 формы, первой создается SplashForm. Остальные формы имеют в OnCreate высоконагруженные вычисления, поэтому после каждого создания формы отображаю на SplashForm статус формы. Дабы все это отрисовывалось использую Application.processmessages.

     

    Application.ProcessMessages;
     Application.CreateForm(TForm1, Form1);
     Label2.text:='Form1 Created';
     Application.ProcessMessages;
     Application.CreateForm(TForm2, Form2);
     Label2.text:='Form2 Created';
     Application.ProcessMessages;
     Application.MainForm:=Form1;
     Form1.Show;
     SplashForm.Hide;
     SplashForm.Release;

    Можно заменить на 

     tthread.CreateAnonymousThread(procedure
     begin
        sleep(1000);
        tthread.Synchronize(tthread.CurrentThread, procedure
       begin
          Application.CreateForm(TForm1, Form1);
       end);
        while not assigned(form1) do
         sleep(0);
       tthread.Synchronize(tthread.CurrentThread, procedure
       begin
        Label2.text:='Form1 Created';
       end);
       sleep(200);
       tthread.Synchronize(tthread.CurrentThread, procedure
       begin
        Application.CreateForm(TForm2, Form2);
       end);
       while not assigned(form2) do
         sleep(0);
       tthread.Synchronize(tthread.CurrentThread, procedure
       begin
         Label2.text:='Form2 Created';
         Application.MainForm:=Form1;
         Form1.Show;
         SplashForm.Hide;
         SplashForm.DisposeOf;
       end);
     end).Start;

    но как было сказано выше, использование Sleep не лучший вариант.

  2. 8 минут назад, Heinrich сказал:

    Да, это жесть, конечно. А, как быть со втормы моим вопросом - со Splash? Откуда он берётся всё время при старте?

    скорее всего вы указали свои изображения только для одного режима (Debug/Release) а компилируйте в другом. 

  3. 19 часов назад, Ark Darlok сказал:

    Собственно сабж. Хочу подключить в приложении авторизацию через делфотные гугловские сервисы. В интернетах примеры через внутренний браузер и TOauth2. Но вот западло, гугл сказал что авторизацию через браузеры больше не будет поддерживать на мобильных платформах. Потому у меня при попытке авторизоваться вылетает с ошибкой disallowed_useragent. Но найти инфу о авторизации нигде не смог. Кто как реализовывал у себя эти фичи? 

    Речь идёт о таком функционале на скрине.

     

    806185fc18ee4b2b87f07de434fbfece.jpg

    REST library

  4. 8 часов назад, gonzales сказал:

    Да, см пост от alexg. Но и в потоке тоже не работает, или я не правильно его применяю

        tthread.CreateAnonymousThread(procedure
        begin
         //Асинхронная логика
         sleep(xxx);
         tthread.Synchronize(nil, procedure begin
           (*Oбращения к методам и свойствам визуальных компонентов*)
         end);
        end).Start;

     

  5. Здравствуйте.  На пустую форму кидаю tchart и ttabitem. На windows платформе нет никаких проблем а при запуске приложений на андроиде выдает ошибку:
    "Error in context method 'DoDrawPrimitivesBatch'"  и "Error in context method 'Doclear". Если  у любого из этих двух компонентов присвоить значение false свойству visible  проблема исчезает.
    проект без кода. Версия: Delphi 10.3/Android 6.0. На 10.2.3 не было проблем.
    Как решить проблему ?

    Capture.PNG

    Capture2.PNG

×
×
  • Создать...