Jump to content
View in the app

A better way to browse. Learn more.

FGX Native

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

1.19.0.0 Русский

Featured Replies

  • Administrators

Скачать:
setup_1.19.0.0_release.rus.zip

Дата релиза:
05 сентября 2025


Внимание 🚨

В данном релизе введены изменения, которые ломают совместимость проектов этой версии со старыми версиями. Переход на 1.19.0.0 является необратимым. Поэтому перед открытием ваших старых проектов необходимо ОБЯЗАТЕЛЬНО сделать резервную копию на случай необходимости временного возврата к предыдущим версиям.

При открытии старых проектов, автоматически запускается мигратор, который позволяет в полуавтоматическом режиме адаптировать ваш проект под 1.19.0.0. А именно:

  • Все используемые имена ресурсов в компонентах формы (xfm файл) автоматически переводятся на новый формат с использованием ":", в качестве разделителя имени темы.

  • Автоматически в ресурсах Project -> FGX Assets Manager формируются новые сущности тем на основании наличия тем в вашем приложении. Определение является ли папка темой выполняется на основании наличия слова "Theme" в названии папки. Если вы не используете слово "Theme" в названии папок тем, то вам необходимо сконвертировать такую папку вручну через контекстное меню дерева дизайнера ресурсов

  • Все программные доступы к ресурсам через файл Assets.Consts должны быть вручную просмотрены и обновлены по шагам в следующем разделе.

Использование файла Assets.Consts

(1) Переименованы поля отдельных типов ресурсов для единообразного подхода с использованием числительных:

  • R.Fonts -> R.Font

  • R.Images -> R.Image

  • R.LottieAnimations -> R.LottieAnimation

  • R.Files -> R.&File.

Если вы используете программный доступ к этим ресурсам, переименуйте их согласно схеме выше.

(2) Изменена логика использования R.Theme. Теперь она содержит не ресурсы текущей темы, а все темы приложения, с возможностью получить доступ к ресурсам каждой темы. Если вы используете в проекта R.Theme, вам необходимо его заменить на R.CurrentTheme.

Новое

Поддержка тем на уровне приложения

В этом релизе полностью обновлена работа с темами в приложении, открывая новые возможности для настройки внешнего вида вашего приложения:

  • Универсальное задание/переключение темы для всего приложения в целом (Без необходимости указывать тему на уровне формы);

  • Удобное переключение темной темы;

  • Полное управление применением темы на уровне компонентов;
    и многое другое.

Полное руководство по темам доступно здесь - Руководство.

Дизайнер формы

Переключение темной и светлой тем

Теперь можно посмотреть, как ваше приложение выглядит в светлой и темной темах. Для этого нужно:

  • Создать светлую и темную темы в дизайнере ресурсов

  • Указать их в настроках проекта Project -> FGX Options... -> Приложение -> Темы

  • Выполнить переключение темы через новые кнопки на тулбаре дизайнера формы.

Обратите внимание, что если тема переопределена на уровне формы, то данный функционал переключения работать не будет.

Выделение компонентов

Добавлен новый режим отображения названия и размера компонента, когда компонент выделен на дизайнере формы. Если вы не хотите, чтобы эта информация выводилась, вы можете отключить этот режим в настройках библиотеки Tools -> Options -> Third Party -> FGX Native -> Form Designer.

Улучшения 🙌

Дизайнер ресурсов

Повышена стабильность работы дизайнера ресурсов.

Конфигурационный файл ресурсов

Теперь файл "Assets\config.json" автоматически форматируется для удобства просмотра изменений.

Биометрическая аутентификация

Теперь запуск процесса биометрической аутентификации запускается асинхронно, чтобы избежать проблем при раннем вызове в событии OnShow и прочих.

Исправление ошибок 🐛

  • Author
  • Administrators

Я прогонял этот релиз на всех больших демо-проектах с вебинаров. Визуально, все работало, как надо. Но допускаю, что могут найтись какие-то сценарии, которые могли быть не предусмотрены.

При миграции советую, перегенерировать файл Assets.Consts. Потому что он при миграции не обновляется. Тогда сразу при комплияции компилятор покажет все места, которые нужно обновить с точки зрения использования констант.

Обновление шикарное, перешёл, проблем в старых проектах не наблюдаю, только подход к темам переделать(но это не долго). Особенно порадовало "выделение компонентов".

Edited by alikoder

Начал обновляться. После автоматического обновления переменных в xfm файлах и еще какого-то окна вылезло это:

Снимок экрана 2025-09-08 082906.png

Снимок экрана 2025-09-08 092303.png

Как я понимаю FGX (или Delphi) не может сохранить некоторые (довольно много) xfm файлы. Я запускал Delphi от имени администратора - не помогло.

До этого был абсолютно рабочий проект.

В коде я вроде всё по темам поменял. Проект даже как ни странно весь компилируется, несмотря на то, что куча xmf файлов старого образца. Приложение запускается, но тема всегда светлая и на темную не переключается. В процессе работы с проектом постоянно выскакивают ошибки.

Edited by Mineev

Один раз после правки очередной формы приложение открылось, скомпилилось и запустилось без ошибок, но при переключении на android опять посыпались ошибки.

Что делать непонятно!

Вернулся пока на предыдущую версию ибо работать надо.

  • Author
  • Administrators
1 hour ago, Mineev said:

но при переключении на android опять посыпались ошибки.

  1. О каком переключении идет речь?

  2. Что за ошибки?

  3. Что означает в данном контексте слово "опять"? Они уже были или что?

  1. Речь о переключении Target Platform с айфона на андроид.

  2. Всякие. AV в основном.

  3. Выше же мой пост с ошибками. Потом один раз под айфон всё скомпилилось и запустилось. А при переключении на андроид опять посыпались ошибки при почти каждом переключении файла проекта, при компиляции, при переключении Target Platform и т.д. и т.п..

  • Author
  • Administrators

Если среда находится в неконсистентном состоянии, то любое действие будет приводить к падениям.

Just now, Mineev said:

Речь о переключении Target Platform с айфона на андроид.

После переоткрытия среды и проекта - так же воспроизводится ошибка при переключении целевой платформы?

Я уже вернулся пока на предыдущую версию так как нужно было срочно исправить недочет в приложении. Сейчас пока воспроизвести не могу.

Стал получать такие ошибки при открытии менеджера ресурсов, примерно через раз, то нормально откроется, то ошибка и среда ломается. Но тут я думаю все дело в большом количестве изображений в ресурсах проекта (храню там тайлы и их порядка 1200).

Вопрос такой, сейчас на виртуальной машине 20gb под память выделено, если я увеличу значение скажем до 60gb, это может помочь?

Снимок экрана 2025-09-09 в 09.15.59.pngСнимок экрана 2025-09-09 в 09.16.54.png

Текст ошибки.txt

21 час назад, Mineev сказал:

Приложение запускается, но тема всегда светлая и на темную не переключается.

Я кстати сначала тоже не понял, почему темы не меняются, просто нужно было инструкцию нормально прочитать, а не бегло ознакомиться =), темы теперь хранятся в специальных "директориях", а не просто в папках, как раньше.Снимок экрана 2025-09-09 в 10.13.13.png

2 часа назад, alikoder сказал:

Я кстати сначала тоже не понял, почему темы не меняются,

Нет, у меня не переключались темы не из за этого, а потому что мастер не смог переделать некоторые xfm файлы. Сами темы у меня примитивные, просто папка и набор цветов. Они конвертанулись нормально.

Попробовал еще раз обновиться. Во первых заметил что в настройках установщика были установлены ненужные галки. Например стояла галка для версии 11, которой у меня нет. Стоял выбор дизайнера для 12.3, которой у меня тоже нет. Раньше настройки подхватывались нормально. Я их никогда не правил при обновлениях!

Возможно в первый раз много ошибок было из за этого. В первый раз я по привычке нажал на этом экране далее и не посмотрел настройки.

На этот раз ошибок меньше (возможно) но всё равно есть.

Началось всё примерно так же как и в прошлый раз:

Снимок экрана 2025-09-09 120722.png

Снимок экрана 2025-09-09 120745.png

На этом пока остановился. Не понимаю что не так с этой формой?!

Screen.Scroll.xfm

Дополняем коллекцию ошибок

Снимок экрана 2025-09-09 145316.png

Как это понимать?

Form.Base.xfm

Снимок экрана 2025-09-09 145634.png

Edited by Mineev

  • Author
  • Administrators

@Mineev ,Спасибо за обратную связь. Сегодня вечером все посмотрю файлы.

10 hours ago, alikoder said:

Стал получать такие ошибки при открытии менеджера ресурсов, примерно через раз, то нормально откроется, то ошибка и среда ломается. Но тут я думаю все дело в большом количестве изображений в ресурсах проекта (храню там тайлы и их порядка 1200).

Тут надо думать. Потому что 1200 тайлов не мало. И мы делаем превью для узлов дерева. В этом плане в этом релизе нет разницы в управлении превью в дизайнере. Поэтому нужно это обдумать. Ошибка именно говорит о нехватке памяти.

  • Author
  • Administrators

@Mineev Посмотрел прикрепленные файлы. Визуально все ок. Но смысла в их прикреплении без всего остального нет. Как минимум надо прикреплять pas и xfm файлы. Так как я их не могу открыть в среде. В идеале - это дать проект, на котором не возможно открыть файл.

Описанные ошибки возникают при попытке открыть форму/фрейм в дизайнере или когда?

Весь проект я отправить не могу. Эти файлы предельно простые. Там ничего нет. Там даже скорее всего нет ничего автоматически исправленного по темам. Но они являются предками для почти всех остальных форм. Но ругается именно на эти файлы. Видимо ошибка где-то глубже. Этот же самый проект с этими же файлами на предыдущей версии работает нормально.

Сегодня при запуске среда Delphi встретила меня ошибками из этого поста.

11 часов назад, Yaroslav Brovin сказал:

Описанные ошибки возникают при попытке открыть форму/фрейм в дизайнере или когда?

Я так понимаю ошибки возникают в момент открытия проекта.

Screens.zip

Edited by Mineev

Заметил такую особенность. Может поможет понять проблему.

Если в редакторе был открыт файл Screen.Scroll или его наследник, то при открытии проекта вылетают эти ошибки и форма не открывается. Если же в редакторе нет этих файлов, то проект загружается без ошибок и эти файлы после этого можно открыть и форму тоже и всё вроде даже работает.

P.S. Получается не совсем так. Почти с любой открытой формой (даже не связанной с этим файлом) ошибки валятся.

Периодически (иногда) при открытии файла формы в редакторе выскакивает эта ошибка.

Edited by Mineev

Попробовал в новой версии открыть пример со статус баром и получил ошибку

Снимок экрана 2025-09-10 104440.png

error.txt

В 09.09.2025 в 19:42, Yaroslav Brovin сказал:

Тут надо думать. Потому что 1200 тайлов не мало. И мы делаем превью для узлов дерева. В этом плане в этом релизе нет разницы в управлении превью в дизайнере. Поэтому нужно это обдумать. Ошибка именно говорит о нехватке памяти.

Ну, в общем, увеличение памяти и ядер процессора не помогло.

Заметил интересную закономерность, ошибка о нехватке памяти возникает только если открываю Assets manager при уже открытой любой форме. Если формы не открыты, а просто код проекта, то ошибок нет. Такие дела.

  • Author
  • Administrators
7 hours ago, alikoder said:

Ну, в общем, увеличение памяти и ядер процессора не помогло.

Заметил интересную закономерность, ошибка о нехватке памяти возникает только если открываю Assets manager при уже открытой любой форме. Если формы не открыты, а просто код проекта, то ошибок нет. Такие дела.

При открытых формах с компонентами, которые используют ассеты, и внесении изменений (применение изменений в дизайнере ресурсов), происходит перегенерация используемых изображений в компонентах. Что требует дополнительной памяти. Не смотря на то, что предыдущие, используемые изображения удаляются, есть важный момент в использовании FMX (как бекендл в дизайнере FGX Native). FMX использует обычно Direct 2D канву в связке с DirectX 10. Так вот, TBitmap в FMX в этом случае использует текустуру для хранения изображения. А в Direct2D используется внутри кеш памяти. Из которого запрашивается память под текстуру (переиспользование) и при удалении текстуры, память не возвращается системе, а возвращается в этот кеш. НО! в DirectX 10 версии это возвращение памяти выполняется асинхронно. Поэтому если например в FMX проекте создавать в цикле и удалять изображения, то в какой-то момент может появиться такое же сообщение о нехватке памяти. В DirectX 11 версии появился метод для принудительной очистке памяти и возвращении ее в пул. Но FMX не поддерживается DirectX 11.

Поэтому в FMX используется обходное решение, но оно не гарантирует, что память реально будет возвращена в систему. Оно заключается в том, чтобы сделать небольшую паузу, чтобы побудить переключение потоков и дать возможность DirectX 10 реально возратить память. Выдержка из реализации маппинга битмапа в FMX:

// Метод TCanvasD2D.DoMapBitmap
     
      if ReturnCode = E_OUTOFMEMORY then
      begin
        SharedDevice.Flush;
        // DirectX 10 doesn't provide method for waiting flush result. We can't fully fix this with DirectX 10.
        // So we emulate it and we use a rough timeout
        Sleep(200);
        ReturnCode := TryCreateTexture2DFor(H);
      end;
      if Failed(ReturnCode) then
        raise ECannotCreateTexture.CreateFmt(SCannotCreateTexture, [ClassName]);

1200 тайлов - это честно говоря очень много. Потому что на моей памяти, в RAD Studio раньше была проблема с генерацией иконов для компонентов в палитре компонентов. И в определенных условиях графические хендлы в WinAPI кончались. Позже это решили, тем что иконки стали генерироваться асинхронно + возможно, поправили утечки. Я даже не могу представить, как вы добавили эти 1200 тайлов в дизайнер, и сколько времени он вообще открывается.

На мой взгляд, более правильным решение - это поставлять упакованные тайлы в виде одного архива. При запуске, распаковывать его на устройстве и уже работать.

7 минут назад, Yaroslav Brovin сказал:

Я даже не могу представить, как вы добавили эти 1200 тайлов в дизайнер, и сколько времени он вообще открывается.

На мой взгляд, более правильным решение - это поставлять упакованные тайлы в виде одного архива. При запуске, распаковывать его на устройстве и уже работать.

😁 Да не долго, секунд 5-8 открывается. Понял вас, если надоест ловить ошибки, сделаю в архиве ресурсы. С таким количеством картинок в менеджере у меня один проект только, по этому не парюсь особо из-за этой ошибки. Спасибо.

А по моим ошибкам есть какие-то мысли?

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.