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

qz5

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

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

  • Посещение

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

    13

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

  1. Добавляют записи в hosts всякие взломщики программ, чтобы отключить проверку регистрации. Может быть ты их ставил еще несколько лет назад, тебе виднее.
  2. Видимо ты взломанные версии Delphi раньше ставил! Попался!?
  3. Может быть надо вручную установить SDK 30 и с ее указать для сборки? p.s. я переучиваюсь на flutter
  4. Официальная новость - Delphi & C++Builder FREE Community Editions Updated to Version 10.4.2 Are Now Available! Пока надо будет получать для этой версии новые ключи, старые от 10.3.3 не подходят
  5. Смотрите путь к файлам в настройках проекта. Не смогу подсказать точнее, нет Делфи под рукой.
  6. Поменять пути к файлам с абсолютных на относительные то есть не должно быть всяких C:\project\superapp\unit1.pas и C:\project\superapp\lib\libunit1.pas должны быть типа lib\libunit1.pas
  7. Действительно, с эмуляторами не дружит, но легко купить дешевый смартфон, на который можно легко менять версии Андроида. Я вот здесь написал, как я это сделал - У меня теперь есть. Я этот смартфон за 10 минут перепрошил на Андроид 11. Действительно моя программа не работала на Андроид 10 и 11 (не могла обратиться к файлам), но я это исправил добавив запись в манифесте. Ничего сложного, дольше скачивать образы с новыми версиями Андроид, чем их устанавливать...
  8. Я бы с удовольствием, но 10.4 Community до сих пор вроде не вышла :(
  9. Я пока лишь присматриваюсь, немного пробую Непривычно всё это действительно
  10. Приложение может вылетать по разным причинам. Возможно дело в том, что пытаетесь прочитать или записать файл в публичную папку. На Андроид 11 мало запроса разрешения, теперь чтение и запись файлов делается иначе. У меня приложение на Делфи работает на 29 СДК (это от Андроид 10), но пришлось добавить строку, о которой написано в теме на которую дал ссылку. Иначе не работало на Андроид 11.
  11. Что именно перестало работать? Вы файл на устройстве прочитать или записать не можете?
  12. Для того, чтобы поддержиывать будущее требование ко всем приложениям иметь SDK 30 надо ждать выхода Делфи 10.4 Community Edition Или самому реализовать вот это API: https://developer.android.com/training/data-storage/shared/media#direct-file-paths А пока добавить в манифест строку requestLegacyExternalStorage
  13. Видимо это будет Вам полезно (я писал в другой теме):
  14. Есть еще например Kotlin, Flutter, Xamarin. Не думали в их сторону посмотреть?
  15. Вот еще почитать на эту тему: https://developer.android.com/training/data-storage/use-cases и https://developer.android.com/about/versions/11/privacy/storage Так что после Target SDK 30 вообще старый код работать не будет... Нужно будет переписывать код работы с файлами.
  16. Дело в том, что ты выставил Target SDK 29 Теперь чтобы на Андроид 10, 11 или 12 старым способом иметь доступ к файлам надо объявить явно это в манифесте Кажется с помощью android:requestLegacyExternalStorage="true" но лучше погугли. И вообще в будущем возможно... Гугл зарежут прямой доступ к файлам и придется через медиа-запросы обращаться к файлам.
  17. Вообще в других фреймворках для этого используют например Lottie. Он позволяет сделать векторные, красивые, даже анимированные элементы, но в своем JSON формате. Я для Вас даже нашел гитхаб, в котором кажется реализована поддержка его на делфи: https://github.com/HashLoad/lottie-player Попробуйте перевести SVG в Lottie и потом расскажите. Так, посмотрел исходники, оказывается он показывает анимацию через показ... TWebBrowser, в котором JS-скрипт показывает Lottie. Грустно. Есть реализацию Lottie под Андроид, но оно для Java: https://github.com/airbnb/lottie-android Подключить в Delphi можно, но сложно. Для этого надо сделать по шагам, да и просто уметь: 1. подключить AAR-библиотеки (я пока не умею) 2. сделать обертку java2op (это относительно просто) 3. показать View с анимацией внутри Delphi. Это я не умею, но на этом форуме есть примеры, например подключение View Андроид-камеры: Как я понимаю, нужно создать нативный Layout через TJNativeLayout.JavaClass.init, создать и в нем расположить View c Lottie, потом его в определенном месте окна размещать. Но с нативными View тоже много проблем. Например нельзя обычные FM-элементы размещать частично поверх них или полупрозрачно например.
  18. Про CEF не все знают, нужно было написать про него конкретно, а не отправлять по https://chromedriver.chromium.org/mobile-emulation
  19. Есть еще вариант использовать CEF4Delphi - https://github.com/salvadordf/CEF4Delphi
  20. Если 10-ая винда, то можно через TEdgeBrowser Edge поддерживает жесты, но работает это всё только на 10-ке
  21. Пробежался. Да, можно обычным Webview управлять, как Вы делали через Селениум. Селениум у Вас просто удобный инструмент для доступа к режиму удаленного управления браузера. Можно и без него, например через Chrome DevTools. Включить то программным образом режим отладки можно через команду setWebContentsDebuggingEnabled(true), но дальше начинаются сложности, остальное видимо возможно только, если писать на Java. Дальше я просто не знаю. Там уже темный лес, но в любом случае лезьте туда. только если знаете Java. Т.е. режим удаленной отладки, который использует Селениум, и так уже встроен в Webview (веб-браузер, который встраивается в приложения), но предполагается, что его используют не из самой программы, а удаленно. Либо через Chrome DevTools, либо через такие штуки как Селениум. p.s. это мои измышления, может реальность и другая. Я еще порою в этом направлении, но сомневаюсь, что смогу найти быстрое решение... Так что пока предлагаю переписать все на JS и запускать через EvaluateJavaScript. Там тоже есть свои подводные камни (например получение результата из скрипта), но это по-крайней мере можно сделать в Delphi.
  22. У стандартного Webview есть процедура включения удаленного управления, через который Селениум работает. Называется setWebContentsDebuggingEnabled. В Делфи реализовано, но я не пробовал его использовать. Сейчас пороюсь, возможно ли.
  23. ИМХО всё это можно сделать через выполнение js-скриптов на Webview через процедуру EvaluateJavaScript С Webview есть проблема с получением результата выполнения js-скрипта назад в приложение, но тоже можно, но через addJavascriptInterface, хотя и заморочисто. Я пробовал делать - плюнул, не было большой необходимости получения результата. Так что если просто выполнить скрипт, без проверки результата и на одной странице, без перехода между страницами, то evaluateJavascript хватит. Если надо отслеживать логику с перемещениями по сайту, проверять что введено в каком-то поле, то с этим проблемы.
×
×
  • Создать...