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

Лидеры

  1. Andrey Efimov

    Andrey Efimov

    Модераторы


    • Баллы

      2

    • Постов

      851


  2. kami

    kami

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


    • Баллы

      2

    • Постов

      643


  3. Dmitry_4501

    Dmitry_4501

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


    • Баллы

      2

    • Постов

      82


  4. pndr.soft

    pndr.soft

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


    • Баллы

      2

    • Постов

      5


Популярный контент

Показан контент с высокой репутацией 03.11.2017 во всех областях

  1. Если не изменяет память, то: Компонент TNetHttpClient это просто обёртка над THttpClient. В этой обёртке и реализована асинхронность, посредством создания отдельного потока. Если по каким-то причинам не хочется использовать TNetHttpClient с асинхронным режимом, то берёте THttpClient и запихиваете в отдельный поток. На 100% точность не претендую, но когда стоял вопрос, что использовать в одном из приложений, выбор был сделан в пользу TNetHttpClient, т.к. уже всё, что нужно написали за нас (только использовать студию не ниже Berlin, т.к. в Seattle были какие-то проблемы с асинхронностью) p.s. Если приложение для мобильных устройств - то юзайте TNetHttpClient (THttpClient). С indy компонентами на моб. устройствах проблемы.
    2 балла
  2. Победил. После добавления итемов необходимо добавить: list.Resize(); list.Repaint();
    2 балла
  3. kami

    Сборка приложения для IOS 11

    XCode 9.1 + SDK 11.1 + iOS 11.1 +RAD 10.2.1 (с патчем PAServer и IDE под iOS11) Собрано 64 битное приложение (Universal binary file) и оно РАБОТАЕТ!!! Мучился довольно долго, под 11.0 сборка не хотела идти категорически (валилось на лишних разрешениях в Provision profile, про них говорилось в окне Build делфи). Заново ставил патч, удалял SDK 11.0, накатывал заново - не хотело идти, приложение вроде запускалось и сразу закрывалось на IPAD mini. А с 11.1 прокатило сразу же. Я не знаю, почему - может, из-за свежего SDK, может из-за того, что оно ставилось "в чистую" (хотя я и 11.0 SDK удалял ручками из папки документов). Главное - есть результат. Если нужны какие-то подробности - пишите, постараюсь ответить (хотя с моей точки зрения - всё это были танцы с бубном).
    2 балла
  4. У компонента TNetHttpClient насколько я помню есть свойство Asynchronous, если выставить значение в true, то работа компонента станет асинхронной, а вот про THttpClient такого сказать не могу (по крайней мере я не понял как там можно настроить его на асинхронную работу), но проблему асинхронности с компонентом THttpClient можно решить с помощью потоков.
    2 балла
  5. Пользователь может изменить качество эффектов, но уж очень хочется облегчить всем жизнь. Пользователь должен запустить программу, а она по умолчанию не тормозит В общем я решил измерять производительность при старте, как раз висит splash-форма как заставка (она создает главное окно и после создания переключает на него и делает его главным), пользователю придется чуть дольше подождать запуска. Думаю это не проблема. Суть идеи - у меня приложение построено на фреймах, которые динамически создаю/уничтожаю. И как раз стартовый фрейм является небольшой демкой возможностей, там используется много эффектов и разных компонентов. Поэтому я создаю этот фрейм, делаю предзагрузку стилей всем компонентам фрейма (этот способ взял на этом же форуме, автор Ярослав). После этого создания фиксирую время, за которое создается скриншот этого фрейма (т.е. использую MyFrame.MakeScreenshot). И уже на основании потраченного времени оцениваю производительность железа при работе с графикой. type /// <summary> /// Производительность оборудования /// </summary> THardwarePerformance = ( /// <summary> /// Высокая производительность /// </summary> performanceHigh, /// <summary> /// Средняя производительность /// </summary> performanceMedium, /// <summary> /// Низкая производительность /// </summary> performanceLow ); function DetectPerformance(AImage: TImage): THardwarePerformance; var LTemp: TBitmap; begin // измеряем производительность оборудования CreateFrame(modeWelcome); // существующий в другом коде метод, создающий нужный фрейм LTime := Now; LTemp := Frames[modeWelcome].MakeScreenshot; try AImage.Bitmap.SetSize(LTemp.Width, LTemp.Height); AImage.Bitmap.CopyFromBitmap(LTemp); finally LTemp.DisposeOf; end; LTime := Now - LTime; // оцениваем производительность if LTime < EncodeTime(0, 0, 0, 300) then Result := performanceHigh else if LTime < EncodeTime(0, 0, 2, 0) then Result := performanceMedium else Result := performanceLow; end; Протестировал на доступных телефонах, пока определяет верно
    1 балл
  6. dmokrushin123

    Сборка приложения для IOS 11

    Так и не разобрался как включить настройку для 64 бит чтобы была как для 32 бит, да и интерес пропал долго разбираться ) В итоге создал новый проект и мигрировал из старого все что нужно было - собрал и установил на устройство. Да рабочая конфигурация IOS11 (64)+SDK10+XCode8, в конфигурации как в сообщении выше НЕ ПОШЛО (XCode 9.1 + SDK 11.1 + iOS 11.1 +RAD 10.2.1 (с патчем PAServer и IDE под iOS11) ) . В общем если бы мысль про 64 бита пришла в самом начале, то и вопроса и танцев с бубном не было бы.
    1 балл
  7. Равиль Зарипов (ZuBy)

    Convert html to text

    попробуйте вот это
    1 балл
  8. Раньше использовал TIdHttp, затем перешёл на THttpClient. THttpClient и TNetHttpClient - по сути одно и то же, только последний является визуальным компонентом. Поэтому в вашем случае корректнее сравнивать THttpClient и TIdHttp. Конкретно для моих целей использование THttpClient предпочтительнее, поскольку он из коробки работает с https на всех платформах, а в случае TIdHttp для этого ещё нужно подключать ssl. Разницы в скорости работы не замечал.
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...