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

bfarid

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

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

  • Посещение

Весь контент bfarid

  1. В RAD Stodio 12.3 создается файл styles-v35.xml с <item name="android:windowOptOutEdgeToEdgeEnforcement">true</item>, который должен быть включен в Deployment.
  2. Подскажите, как зафиксировать ToolBar вверху экрана на Android 15 (API level 35)? С августа нужно в манифесте происывать android:targetSdkVersion="35". Для Android Studio есть решения (android:fitsSystemWindows="true", enableEdgeToEdge()).
  3. Через несколько дней нашел решение: NetHTTPClient1.MaxRedirects увеличить с 5 до 10.
  4. На смартфоне с Android 15 скачивание относительно больших файлов (>50 Мб) зависает на 1/10-1/3. На младших версиях Android и при скачивании малых файлов проблем нет. Через Ftp любые файлы качаются. Подскажите, где может быть проблема: procedure TfmFtp1.fHttp; var HttpResponse: IHttpResponse; Stream:TMemoryStream; const CONST_TIMEOUT = 30000; //пробовал разные begin try aTask:= TTask.Run( procedure begin Stream:= TMemoryStream.Create; NetHTTPClient1.ConnectionTimeout := CONST_TIMEOUT; NetHTTPClient1.ResponseTimeout := CONST_TIMEOUT; try HttpResponse:=NetHTTPClient1.Get('https://therapy.irkutsk.ru/program/'+flname, Stream); except on E : Exception do ShowMessage('File download error ' + E.Message); end; if Assigned(HttpResponse) then if HttpResponse.StatusCode=200 then begin Stream.SaveToFile(fileout1); end; end); finally Stream.Free; end; end;
  5. Не получалось обновить файл. Нашел свою ошибку - вместо UpdateAsset('fcatalog.sqlite', System.IOUtils.TPath.GetPublicPath) нужно UpdateAsset('fcatalog.sqlite', System.IOUtils.TPath.Combine(System.IOUtils.TPath.GetPublicPath,'fcatalog.sqlite')). Подумал, что FilePath это путь, а не путь с файлом.
  6. После того, как обновили программу (apk), билд программы будет только один и его нельзя сравнить. Тогда скорее при запуске программы нужно сравнить дату apk и базы данных на смартфоне. Или использовать дату в настройках. Или возможно что-то не понимаю.
  7. Разумно. Правда билд всегда будет выше (иначе не загрузить на маркетплейс), а база может быть той же. В настройках получше. Хотелось автоматически.
  8. Или получить дату apk как-то.
  9. То есть доступа к информации о файле базы данных в Assert в Delphi нет? Нужно временно копировать в память смартфона и затем сравнивать (по дате, размеру...) - не очень красиво.
  10. А как сравнить даты баз данных в Assert и на смартфоне, чтобы переписать новый файл?
  11. Немного доработал: //Загружает картинку 16х16 vImage.Bitmap.LoadFromStream(img1); //Ширина ячейки Grid1.ColumnByIndex(1).Width:=20; //Целевая область изображения, иначе картинка рисуется в размер ячейки Bounds.Width:=16; Bounds.Height:=16; Canvas.BeginScene; Canvas.DrawBitmap(vImage.Bitmap, vImage.Bitmap.Bounds, Bounds, 1, True); Canvas.EndScene;
  12. Подскажите, пожалуйста, решение проблем при вставке картинки из blob-поля в grid (в программе с Vcl все делал EhLib): 1. Картинка 16х16 сжимается (см рисунок) и приходится добавлять костыль Grid1.ColumnByIndex(1).Width:=24 (если 16, то все равно картинка сужена). 2. Если картинка с прозрачным фоном, то виден текст из поля базы данных (видимо нужно вначале как-то залить ячейку). ------------------ procedure TPntdata.Grid1DrawColumnCell(Sender: TObject; const Canvas: TCanvas; const Column: TColumn; const Bounds: TRectF; const Row: Integer; const Value: TValue; const State: TGridDrawStates); var img1: TMemoryStream; vImage: Timage; begin //Столбец Grid, куда помещаем рисунок, связан (Bind Visually) с полем type1 (текстовый тип с идентификацией данных: advice, chemistry, blood...) основной таблицы fdata if (Column.Index=1) then begin Grid1.ColumnByIndex(1).Width:=24; //Иначе картинка 16х16 сжимается? img1:=TMemoryStream.Create; vImage := TImage.Create(nil); //картинки подгружаются из BLOB-полей другой таблицы fileimages по совпадению полей type1 DataModule3.FDQuery4.Open('select * from fileimages where type1='+QuotedStr(Value.ToString)); img1.CopyFrom(DataModule3.FDQuery4.CreateBlobStream(DataModule3.FDQuery4.FieldByName('img'), bmRead), 0); vImage.Bitmap.LoadFromStream(img1); Canvas.DrawBitmap(vImage.Bitmap, vImage.Bitmap.Bounds, Bounds, 1); img1:=nil; vImage:=nil; end;
  13. Отличное решение Dmitry_4501! Большое спасибо за профессиональную помощь.
  14. Эта ошибка как раз на SDK для RedOS 8. Здесь ранее (в 2017 году) предлагалось добавить в RedOS пакеты gcc-6 и linux-compiler-gcc-6-x86, но таких уже нет. Пробовал установить просто gcc, не помогло.
  15. Программа (каталог библиографических ссылок) компилируется RAD Studio 12.1 под Ubuntu 22.04, но появляется ошибка при сборке под RedOS 8: [DCC Error] E2597 C:\Program Files (x86)\Embarcadero\Studio\23.0\bin\ld-linux.exe: error: cannot find -lgcc_s. Решения, найденные поиском не помогают. Может есть варианты решения?
  16. А при установки из Google Play и App Gallery все ОК. Видимо проблема в RAD Studio (11.3). Хотя должен быть и программный механизм установки иконки.
  17. При компиляции и установке приложения на смартфон не создается иконка приложения на экране. Попробовал в настройках приложения Install shortcut=true, не помогает. Приходится вручную переносить иконку из списка приложений. Помогите с решением.
  18. В настройках проекта (окно справа, Taget Platform (Android 64)-Libraries) отключил все *.jar с '*ads*' и AppGallery принял программу.
  19. Спасибо за подсказку. Но не получилось убрать AdMob, даже отключив библиотеку, на которую указали китайские товарищи. Пробовал даже все отключить, безрезультатно.
  20. При публикации программы в Huawei AppGallery указывается наличие рекламы, которой нет в коде. Сотрудники AppGallery ссылаются на наличие 'com.google.ads'. Выяснилось, что при компиляции создается файл ..\Android64\Release\fmcatalog.classes\classes.dex, содержащий строку 'com.google.ads'. Можно ли как-то исключить появление этой строки и получить статус программы, не содержащей рекламу?
  21. Спасибо, заменил на TListBox, теперь все в порядке.
  22. А нельзя настроить через ComboBox1ApplyStyleLookup?
  23. Опыта работы со стилями нет. Можно поподробнее. Зашел в дизайнер стилей и где настройка межстрочного интервала?
  24. Межстрочный интервал в выпадающем списке ComboBox (связан с DataSet) очень большой. Никак не получается уменьшить, подскажите пожалуйста решение.
×
×
  • Создать...