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

Лидеры

  1. Евгений Корепов

    Евгений Корепов

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


    • Баллы

      3

    • Постов

      738


  2. qz5

    qz5

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


    • Баллы

      2

    • Постов

      151


  3. Vitaldj

    Vitaldj

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


    • Баллы

      1

    • Постов

      847


  4. Barbanel

    Barbanel

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


    • Баллы

      1

    • Постов

      419


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

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

  1. Пока тестировал хелпер в боевом проекте он потихоньку оброс исрпавлениями/улучшениями: Загрузка из потока сделана через TBitmapSurface - это позволяет избежать множества глюков. LoadFromStream вынесен из Synchronize (основного потока) в поток HTTPClient - по результатам бенчмарка операция оказалась самая жручая. После исправления интерфейс перестал залипать совсем. Добавлен overload вариант с передачей в процедуру TListItemImage - для использования в TListView и корректной перерисовки подгруженных картинок через AListItemImage.Invalidate. unit BitmapAsyncLoader; interface uses FMX.Graphics, FMX.Surfaces, System.Net.HttpClient, System.Types, System.Classes, FMX.ListView.Types, FMX.ListView.Appearances; type TBitmapAsyncLoader = class helper for TBitmap procedure LoadFromURLAsync(const AUrl : String); overload; procedure LoadFromURLAsync(const AUrl : String; const AListItemImage : TListItemImage); overload; end; implementation var AHTTPClient : THTTPClient; procedure TBitmapAsyncLoader.LoadFromURLAsync(const AURL : String); begin try AHTTPClient.BeginGet( procedure (const ASyncResult: IAsyncResult) var AHTTPResponse : IHTTPResponse; ABitmapSurface : TBitmapSurface; begin if Not ASyncResult.IsCompleted then exit; try AHTTPResponse:=THTTPClient.EndAsyncHTTP(ASyncResult); except end; if Assigned(AHTTPResponse) and (AHTTPResponse.StatusCode = 200) then begin ABitmapSurface:=TBitmapSurface.Create; if TBitmapCodecManager.LoadFromStream(AHTTPResponse.ContentStream, ABitmapSurface, CanvasClass.GetAttribute(TCanvasAttribute.MaxBitmapSize)) then TThread.Synchronize(Nil, procedure begin if Assigned(Self)then Assign(ABitmapSurface); ABitmapSurface.Free; end ) else ABitmapSurface.Free; end; end, AURL ); except end; end; procedure TBitmapAsyncLoader.LoadFromURLAsync(const AURL : String; const AListItemImage : TListItemImage); begin try AHTTPClient.BeginGet( procedure (const ASyncResult: IAsyncResult) var AHTTPResponse : IHTTPResponse; ABitmapSurface : TBitmapSurface; begin if Not ASyncResult.IsCompleted then exit; try AHTTPResponse:=THTTPClient.EndAsyncHTTP(ASyncResult); except end; if Assigned(AHTTPResponse) and (AHTTPResponse.StatusCode = 200) then begin ABitmapSurface:=TBitmapSurface.Create; if TBitmapCodecManager.LoadFromStream(AHTTPResponse.ContentStream, ABitmapSurface, CanvasClass.GetAttribute(TCanvasAttribute.MaxBitmapSize)) then TThread.Synchronize(Nil, procedure begin if Assigned(Self) and Assigned(AListItemImage) then begin AListItemImage.BeginUpdate; Assign(ABitmapSurface); AListItemImage.Invalidate; AListItemImage.EndUpdate; end; ABitmapSurface.Free; end ) else ABitmapSurface.Free; end; end, AURL ); except end; end; initialization AHTTPClient:=THTTPClient.Create; finalization if Assigned(AHTTPClient) then AHTTPClient.DisposeOf; end. Тестовый проект, на этот раз с ListView (по кнопке добавляется 100 итемов) прилагаю. BitmapAsyncLoaderListView.7z
    3 балла
  2. Здравствуйте. Проблема решилась очень просто - обновлением RAD до версии Embarcadero® Delphi 10.3 Version 26.0.33219.4899 Ссылка на торрент https://softtorrent.ru/tt/3276.SoftTorrent.ru.torrent Предыдущую версию полностью удалил -> перезагрузка -> установка свежей версии. Заработало всё в штатном режиме.
    1 балл
  3. Попробуй спросить на этом форуме, там есть владельцы смартфоном с таким процессором: https://4pda.ru/forum/index.php?showtopic=946744 https://4pda.ru/forum/index.php?showtopic=952959 https://4pda.ru/forum/index.php?showtopic=957113 Я нашел такие телефоны с этим процессором. Попроси владельцев этих смартов установить твою и любую другую программу написанную на Firemonkey. https://play.google.com/store/apps/details?id=kz.rzaripov.PushTest Обязательно напиши результат (работает ли твоя прога и чужие на их девайсах). Если не работает - нам всем это надо знать. Особенно напиши в теме Doogee N10 - там много людей, проще контакт найти.
    1 балл
  4. qz5

    Версия андроид

    Я разбавлю своим вариантом: Leagoo Power 2. У него цена около 3000 рублей, из коробки идет Андроид 8.1, но можно поставить Андроид 9 и даже... Android 10!!! С одной стороны у меня среди родственников есть смарты от 4ой до 9-ой версии Андроид, да и моя прога сейчас на всех работает (пока она простая). Но с другой стороны решил поискать дешевый смарт, на который можно несколько разных версий Андроид поставить, но: 1. чтобы это было легко, без всяких разблокировок и т.п. (у новых Xiaomi, Huawei как раз проблемы с заблокированным загрузчиком) 2. чтобы был максимально дешевый 3. чтобы можно было поставить Андроид 8.1 и Андроид 9, причем разные сборки 4. чтобы не надо было ставить всякие Flash Tools и т.п. - искал, чтобы прошивка была простой и максимально без лишних программ Оказалось, что Leagoo Power 2 Pro: 1. Поддерживает GSI-прошивки от Project Treble (Андроид 8.1, Андроид 9 и Android 10) 2. стоит около 3000 рублей 3. Для прошивки не нужно никаких лишних программ! Достаточно ADB, а он и так уже идет вместе с Delphi (можно и самому ADB ставить на комп, если Delphi нет например) Взял на будущее, чтобы было дешевое устройство, на котором можно экспериментировать с прошивками Правда сам пока не пробовал - телефон получил, всё работает, но пока закинул его в коробочку, тестирую на смартфоне с Андроид 7 (он всё равно постоянно на столе и там нужные мне программы). Как прошить ТВРП: https://4pda.ru/forum/index.php?showtopic=928803&st=120#entry81458052 Другие версии Андроид брать здесь: https://4pda.ru/forum/index.php?showtopic=892755 Где купить: решайте сами, многие покупают на Пандао, но я почитал отзывы - Пандао какой-то странный магазин, ничего там не покупал и не стал из-за 200 рублей рисковать. Я взял там, где советует официальный производитель: https://vk.com/wall-148943419_19677 Доставила почта Сингапура за 20 дней. p.s. я кучу разных вариантов пересмотрел и остановился именно на нем. Самая легкая перепрошивка из всех, недорогой смарт, есть запчасти, возможность ставить разные кастомы. может кому пригодится ?
    1 балл
  5. Barbanel

    ip адрес устройства Delphi fmx android

    Не скажу как это сделать через Indy, но через системные обертки это можно. Обратите внимание на метод JWifiInfo.getIpAddress Надеюсь вам поможет. NetworkState.zip
    1 балл
  6. Vitaldj

    Версия андроид

    Вы само то поняли, что написали? Какой вопрос, такой ответ. Во всех отмеченных выше постах, так же указания на кучу торговых марок. Евгений предпочитает ксаоми. Я тоже не вижу в этом проблем. У жены ксаоми, прекрасно идут все приложения, включая приложения написанные на FGX. Не нравиться ксаоми, выбираете из тех, что предложили другие. Так, что поосторожнее с формулировками. Следите за словами.
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...