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

gonzales

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

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

  • Посещение

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

    27

gonzales стал победителем дня 10 марта 2022

gonzales имел наиболее популярный контент!

Посетители профиля

17 267 просмотров профиля
  1. C 22 июля 2024 года на платформе FireBase перестал работать старый Legacy способ отправки пуш сообщений в свое приложение. Пришлось переписывать всю PHP часть, для отправки уведомления и для конвертации токена для iOS В тачке архив со всем необходимым. Настройка 1. В консоли Firebase, в разделе Project Settings -> Service accounts жмем на "Generate new private key". Скачиваем JSON с ключами. 2. В файл api.php вносим свои данные $config['app_name'] - название приложение, как было зарегистрировано в маркетах (com.embarcadero.lalalalala) Дальше из скаченного JSON файла $config['app_id'] - project_id $config['iis'] - client_email $config['private_key'] - private_key Private key оставляем полностью от -----BEGIN PRIVATE KEY----- до -----END PRIVATE KEY----- 3. Важно! Перед использованием Modern Http API необходимо явно разрешить его использование здесь: console.developers.google.com/apis/library/fcm.googleapis.com/?project=your-project Обращения к api Для посылки сообщения http://myserver.ru/api.php?method=sendOnePush&token=мой_токен&title=Заголовок&text=Текст Ответ в формате {"status":"OK"} Для конвертации токена для iOS http://myserver.ru/push/api.php?method=ConvertApns2fcm&token=Мой_iOS_токен&sandbox=false sandbox - нужно указывать true для Debug режима, false - для Application Store Ответ в формате {"status":"OK","text":"Правильныйтокен"} PUSH FCM HTTP v1.zip
  2. Боюсь такую задачку тяжело решить без сторонних компонентов. Я бы подумал в сторону другого кодека - MJPEG, я в свое время разбирал поток MJPEG over RTP и вытаскивал из потока jpeg, то есть решал обратную задачу. Вроде там ничего особенного не было. Вот статейки на тему https://habr.com/ru/articles/115808/ https://habr.com/ru/articles/117735/
  3. На всякий случай оставлю здесь информацию по поводу линковки сторонних библиотек. Если мы генерируем приложение сразу под две архитектуры arm64-v8a и armeabi-v7a, то есть ставим галку на опции Generate Android 32-bit and 64-bit binaries, то необходимо в секции deployment для 64-битной архитектуры добавить все библиотеки и для 32-битной версии.
  4. а TKeyboardState разве не только для VLC? Забыл написать, что это все удовольствие конечно для FMX
  5. Доброго все дня! Подскажите, как реализовать следующее. Таскаю Trectangle из одного контейнера в другой. При нажатии Ctrl создается копия TRectangle в контейнере, куда его дропнул. Если ничего не нажато, то простое перетаскивание. Все работает за одним нюансом, Ctrl нужно нажимать ДО начала перетаскивания, потому как в событии MouseMove я разрешаю перетаскивание и событие MouseMove больше не вызывается, пока объект не будет дропнут. События DragOver контейнера не содержат информацию, нажат ли Ctrl, или я не умею ее доставать. Подскажите, возможно ли такое сделать.
  6. Вот команда собрать из aab файла универсальный apks файл. java.exe -jar "C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\Android\bundletool-all-1.2.0.jar" build-apks --mode=universal --bundle="D:\485\Application_v4.5(11)\Android64\Release\Cluster25\bin\Cluster25.aab" --output="D:\485\Application_v4.5(11)\Android64\Release\Cluster25\bin\Cluster25.apks" --ks="D:\485\Application_v2 (10.1 Berlin)\GooglePlay\Keys\keys.keystore" --ks-pass=pass:<пароль keystore> --ks-key-alias=<alias keystore> --key-pass=pass:<пароль keystore> заменить пути до своего aab файла, до желаемого apks файла, до keystore файла. А также вписать alias и пароль из keystore. По сути apks файл - это архив, внутри лежит файл universal.apk, можно просто разархивировать, вынуть universal.apk и установить на телефон. Или воспользоваться командой java.exe -jar "C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\Android\bundletool-all-1.2.0.jar" install-apks --apks="D:\485\Application_v4.5(11)\Android64\Release\Cluster25\bin\Cluster25.apks" --adb="C:\Users\Public\Documents\Embarcadero\Studio\22.0\PlatformSDKs\android-sdk-windows\platform-tools\adb.exe" PS. Но я нашел один косяк, при использовании aab файла у меня проблема с линковкой сторонних библиотек (программа их не находит, не смотря на то, что они есть в deployment, а при создании универсального apk, все работает правильно. Я это к тому, что такой способ проверки не всегда дает 100% результат
  7. Нет, не удалось одолеть самостоятельно, прикупили компонент из поста выше)))
  8. Может это поможет function CalcTextSize(text: string; Font: TFont; Size: single = 0): TSizeF; var TextLayout: TTextLayout; begin TextLayout := TTextLayoutManager.DefaultTextLayout.Create; try TextLayout.BeginUpdate; try TextLayout.text := text; TextLayout.MaxSize := TPointF.Create(9999, 9999); TextLayout.Font.Assign(Font); if not SameValue(0, Size) then begin TextLayout.Font.Size := Size; end; TextLayout.WordWrap := False; TextLayout.Trimming := TTextTrimming.None; TextLayout.HorizontalAlign := TTextAlign.Leading; TextLayout.VerticalAlign := TTextAlign.Leading; finally TextLayout.EndUpdate; end; Result.Width := TextLayout.Width; Result.Height := TextLayout.Height; finally TextLayout.DisposeOf; TextLayout := nil; end; end;
  9. Тоже столкнулся с подобной проблемой. Есть диалоговое окно, которое вызывалось методом ShowModal. На 12 и 13 iPhone перестал отображаться. Решения так и нет?
  10. Часто помогают методы beginupdate endupdate
  11. Привет. Давно было, уже не помню, но судя по тому, что я написал проблема в файле проекта. Открой dproj файл, посмотрю, что там внутри
  12. ааа, вообще все свое))) текст в том числе))) я понял, спасибо! так радикально я не додумался поступить
  13. я так пробовал сделать, но почему-то чекбокс вставленный в итем с выравниванием по левому краю перекрывает текст итема, я так и не разобрался, почему это происходит, но нашел процедуру у родного итема - ChangeCheck. Корявенько конечно получилось с точки зрения логики, часть функционала в компоненте, а часть нет, но пока забил
  14. Доброго времени суток. Собственно вопрос в теме поста. Пишу наследника от TListBoxItem, хочу выполнить процедуру при нажатии на чекбокс, но подходящих событий не наблюдаю. OnClick не приводит к нужному результату. Есть еще StylesData['check'], который вроде как должен быть TCheckBox, но я не пойму как с ним работать.
×
×
  • Создать...