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

krapotkin

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

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

  • Посещение

  • Победитель дней

    209

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

  1. 1) Со стилями тормоза из-за того, что каждый раз итему переприсваивается стиль, и начинается реальный кипеш там под капотом.

    Вполне можно было просто подложить rectangle и просто задавать его цвет у каждого item. Ведь на самом деле в стилях вы делаете именно это, просто меняете цвет rectangle который где-то там в стиле.

    2) Зачем создавать динамически все контролы, если можно все оформить в TFrame и просто создавать его и класть хоть в listBox хоть в ScrollBox. (Это по сути одно и то же почти)

    3) Все зависит от количества элементов. Если их 30, то listBox вывезет. если 300 - то ни listBox ни ScrollBox тут не вывезут.

    Тогда надо брать ListView. Там все чуть сложнее, но зато нет проблем с производительностью.

     

  2. весь этот DynamicAppearance недопилен в целом. Там просто создаются наследники TDrawable и позиционируются. Но в целом архитектура так себе. Я просто взял на себя это все. Сам создаю, сам позиционирую. И тогда все норм

  3. Ну для начала, на мобильных осях все течет так быстро, что для текущей разработки подходит только текущая IDE поэтому нет смысла в XE вообще. До Delphi 10.1 разработка была абсолютно условной - может взлетит, а может и нет. технология-то сырая. Так что не надо просто глупостями заниматься.

    Про подключение телефона который не видится http://fire-monkey.ru/topic/6431-не-подключается-huawei/#comment-38150

     

    Про версии NDK я тоже где-то тут пост писал. Не смог быстренько найти. Она очень важна особенно для старых Android. Я эксперименты ставил.

    Xiaomi на Android 8 нормально работал а Samsung на Andoird 5.1 валился. Я просто подбором нашел нужную. В целом даже не очень долго. NDK  быстро качаются.

    Из SDK берутся только SDK tools поэтому там не очень критично что за версия, лишь бы пути к нужным exe вписать в настройках делфи.

     

  4. delphi при установке предлагает скачать и поставить версии SDK и NDK, я всегда отказываюсь, но записываю что за версии, чтобы потом поставить самому

    а если самому ставить то либо они сейчас обрезанные какие-то, либо полные вместе c AS

  5. Delphi никакого отношения к вашим SDK/NDK не имеет, она использует то что вы установили/ настроили.

    и даже предлагает установить кое-что, с чем точно умеет работать

    Я начиная с XE5 просто ставил Android Studio и SDK / NDK, чтобы иметь возможность контролировать что где у меня стоит, и не лазить по папкам с путем длиной 2000 знаков.

    Просто без AS нет SDK manager, и настройки делать неудобно. 

    Потом выбираем те версии, которые нужны. (запоминаем, что там Delphi хотела поставить) и прописываем пути в настройках delphi

    К последним версиям это стало работать практически в один клик.

    Выбирать, какие устройства видны или нет, тоже делфи ни при чем. Она все делает через ADB. Если ADB не видит девайс, то ни одна другая программа не увидит тоже. Для решения этой проблемы тоже есть тема на форуме, где правится sys - файл с описаниями доступных VendorId / ProductId в стандартном драйвере Googel ADB

  6. по первому вопросу все очень просто. к бд мобильное приложение не должно подключаться

    делайте веб-сервер, а к нему подключайтесь через THttpClient

    2 и 3 ответы вам не понравятся))

    камера работает стремно, и никогда не будет работать как в обычных приложениях. но при большом желании можно просто посмотреть в демо-примерах это есть

    а NFC и вообще все, чего не хватает, обычно можно прикупить тут https://www.winsoft.sk/products.htm

  7. несколько странно выглядит код

    response = get();
    if (...) then
      Synchronize(...   response := nil;)

    а если else, то что с response ?

    10.4.4 Win64/Win32
    тестовый код

    procedure TForm1.btn1Click(Sender: TObject);
    begin
      ttask.Run(
        procedure
          var
            http: THTTPClient;
            resp: IHTTPResponse;
        begin
          http := THTTPClient.Create;
          resp := http.Get('http://www.google.com');
          TThread.Synchronize(nil,
          procedure
          begin
            m1.Lines.Text := resp.ContentAsString();
          end
          );
          http.Free;
        end
        );
    end;
    

    утечек не нашел

    если поставить breakpoint на http.free то в отладчике вызовы IntfClear видны. так что не все так однозначно, как любят говорить в некоторых местах)

  8. неправильный вопрос. кто ж вам подскажет, как делать, если это ваше ТЗ.

    сначала надо придумать картинку, вам самостоятельно.

    можно взять за основу другие программы, посмотреть, как там сделано

    а грид заполнить и клики в нем обработать - дело нехитрое

    и напрягает наличие "администратора" 

    в локальной версии никакого администратора нет ессн

    а в сетевой - нет связи с БД, надо делать промежуточный веб-сервер или пользоваться готовыми типа Firebase

     

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