Everything posted by Yaroslav Brovin
-
Сделать компонент выбора
Теперь есть. Но работа делается последовательно. Сегметный компонент - это не системный компонент Android. Его там нет. Поэтому нужно брать явно библиотеку Google Material Design Component. Но это в свою очередь меняет зависимость на используемую системную тему в Android. Не смотря на то, что на скринах выше у меня уже есть результат. Чтобы это дошло до прода, нужно еще решить дополнительные работы, чтобы пользователь кинул компонент и использовал его без сложных настроек и тд.
-
Баг поля редактирования цвета
Changed Status to Fixed Changed Resolution to Won't fix
-
Баг поля редактирования цвета
Это баг в RAD Studio, реализация редакторов свойств не учитывает смещение области отрисовки значения. Левую границу смещает, но не учитывает потенциально возможное добавление кнопки справа (выпадающего списка, кнопку с троеточием и тд). Аналогичное поведение можно наблюдать в штатном редакторе свойств типа TColor, TAlphaColor. С этим сделать ничего мы не сможем.
-
Баг поля редактирования цвета
Changed Status to Open
-
Опубликовать свойство TextType у TfgCheckBox
Changed Status to Fixed Changed Resolution to Fixed Changed Fix version to 1.19.1.0
-
1.19.0.0 Русский
@Mineev Посмотрел прикрепленные файлы. Визуально все ок. Но смысла в их прикреплении без всего остального нет. Как минимум надо прикреплять pas и xfm файлы. Так как я их не могу открыть в среде. В идеале - это дать проект, на котором не возможно открыть файл. Описанные ошибки возникают при попытке открыть форму/фрейм в дизайнере или когда?
-
1.19.0.0 Русский
@Mineev ,Спасибо за обратную связь. Сегодня вечером все посмотрю файлы. Тут надо думать. Потому что 1200 тайлов не мало. И мы делаем превью для узлов дерева. В этом плане в этом релизе нет разницы в управлении превью в дизайнере. Поэтому нужно это обдумать. Ошибка именно говорит о нехватке памяти.
-
Сделать компонент выбора
Нет. Реализация под Андроид требует перехода на материал дизайн тему, а это в свою очередь требует вначале реализовать полноценную поддержку светлой и темной тем на уровне приложения
-
Опубликовать свойство TextType у TfgCheckBox
Changed Status to Open
-
1.19.0.0 Русский
Если среда находится в неконсистентном состоянии, то любое действие будет приводить к падениям. После переоткрытия среды и проекта - так же воспроизводится ошибка при переключении целевой платформы?
-
1.19.0.0 Русский
О каком переключении идет речь? Что за ошибки? Что означает в данном контексте слово "опять"? Они уже были или что?
-
Неправильно считается высота TfgCollectionView на встроенной форме
Я пока в процессе поиска решения. Копгнул глубже, тут оказалось несколько сложностей, которые мешают дать решение: У RecyclerView элементы по неизвестной для меня причине меняют немного свою высоту в процессе работы. И варируются от 38 до 38.7. Причем это изменение высоты происходит не сразу, а чуть позже. Поэтому расчитать высоту сразу не получается. Только если отдельно вызывать метод перерасчета, тогда все становится, как нужно. В текущем варианте я пробегался по всем элементам списка и складывал их реальную высоту, таким образом получается реальная высота списка.
-
1.19.0.0 Русский
Я прогонял этот релиз на всех больших демо-проектах с вебинаров. Визуально, все работало, как надо. Но допускаю, что могут найтись какие-то сценарии, которые могли быть не предусмотрены. При миграции советую, перегенерировать файл Assets.Consts. Потому что он при миграции не обновляется. Тогда сразу при комплияции компилятор покажет все места, которые нужно обновить с точки зрения использования констант.
-
1.19.0.0 Русский
Первый иностранный пользователь уже рискнул :-) Дал обратную связь, что демки по крайней мере работают.
-
1.19.0.0 English
Download: setup_1.19.0.0_release.eng.zip Release date: 05 September 2025 Warning 🚨This release introduces changes that break the compatibility of projects in this version with older versions. The upgrade to 1.19.0.0 is irreversible. Therefore, before opening your old projects, it is NECESSARY to make a backup copy in case you need to temporarily revert to previous versions. All resource names used in the form components (xfm file) are automatically converted to a new format using ":" as the separator of the theme name. Automatically, new theme entities are generated in the "Project" -> "FGX Assets Manager" resources based on the availability of themes in your application. Determining whether a folder is a theme is performed based on the presence of the word "Theme" in the folder name. If you do not use the word "Theme" in the names of the theme folders, then you need to convert such a folder manually through the context menu of the resource designer tree. All programmatic access to resources via the Assets.Consts file must be manually reviewed and updated step by step in the next section. Usage Assets.Consts(1) The fields of individual resource types have been renamed for a uniform approach using numerals: R.Fonts -> R.Font R.Images -> R.Image R.LottieAnimations -> R.LottieAnimation R.Files -> R.&File. If you use programmatic access to these resources, rename them according to the scheme above. (2) The logic of using R.Theme has been changed. Now it contains not the resources of the current theme, but all the themes of the application, with the ability to access the resources of each theme. If you use R.Theme in the project, you need to replace it with R.CurrentTheme. Migration guide. New ✨Application-level theme supportIn this release, the work with themes in the application has been completely updated, opening up new possibilities for customizing the appearance of your application: Universal theme assignment/switching for the entire application (Without having to specify the theme at the form level); Easy switching of the dark theme; Full control of the theme application at the component level; and much more. The full guide about themes - Guide. Form designerSwitching Light / Dark themesNow you can see how your app looks in light and dark themes. To do this, you need: Create light and dark themes in the assets designer Specify them in the project settings Project -> FGX Options... -> Application -> Themes Switch the theme through the new buttons on the toolbar of the form designer. Please note that if the theme is redefined at the form level, then this switching functionality will not work. Component selectionAdded a new display mode for the name and size of the component when the component is highlighted on the form designer. If you do not want this information to be displayed, you can disable this mode in the library settings Tools -> Options -> Third Party -> FGX Native -> Form Designer. Improvements 🙌Assets designerImproved stability of the assets designer. Assets configuration fileNow the Assets\config.json file is automatically formatted for easy viewing of changes. Biometric Authentication Now the biometric authentication process startup is started asynchronously to avoid problems when called early in the OnShow event etc. Bug fixes 🐛FGX-440 Designer error. FGX-464 When you close Delphi, you almost always get an error. Fixed the use of a theme for TfgCheckBox in an inactive state.
-
1.19.0.0 Русский
Скачать: 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 и прочих. Исправление ошибок 🐛FGX-440 Ошибка дизайнера FGX-464 При закрытии Delphi практически всегда выпадает ошибка Исправлено применение темы для TfgCheckBox в неактивном состоянии.
- Неправильно считается высота TfgCollectionView на встроенной форме
-
Неправильно считается высота TfgCollectionView на встроенной форме
Вы вносите изменения, которые МЕНЯЮТ логику вычислений. Непонимая логики работы, принимаете лично решение, что код должен работать по вашему. Затем, не отвечая на мои вопросы, продолжаете написывать, что код работает не так. Если вы хотите помощи, то нужно отвечать и делать то, что просят.
- Неправильно считается высота TfgCollectionView на встроенной форме
-
Миграция проектов для использования новых тем в 1.19.0.0
Не все так страшно, как кажется. Практически большая часть автоматически обработается мигратором. Только в коде нужно будет обновить использование констант ресурсов.
-
Миграция проектов для использования новых тем в 1.19.0.0
Добрый день, В ближайшее время выйдет большой релиз 1.19.0.0, который полностью будет посвящен большим изменения в работе с темами приложения, упростит ваш код и сделает управлением темами удобнее и понятнее. Предварительно мы разработали полное руководство по темам: Обязательно прочитайте это руководство, потому что в этой теме будет затронута только миграции проектов на 1.19.0.0. Внимание: В данном релизе 1.19.0.0 введены изменения, которые ломают совместимость проектов этой версии со старыми версиями. Поэтому переход на 1.19.0.0 является необратимым. Перед тем, как открыть ваш проект необходимо ОБЯЗАТЕЛЬНО сделать резервную копию на случай необходимости временного возврата к предыдущим версиям. Новый ресурс - темаНе смотря на то, что есть несколько статей о том, как настраивать темы и как их использовать, концепция темы не была до конца закончена. Связано это прежде всего было с тем, что как таковой сущности "тема" в FGX Native не существовало до 1.19.0.0. Это создавало внутренние трудности в реализации FGX Native и требовало использовать не всегда очевидные подходы в определении, что есть тема в FGX Native. Вы можете возразить, что понятие темы существует уже много лет. Однако, ответ очень прост. Вы никаким способом не можете определить программно до текущего релиза, названия тем приложения. Именно это и является камнем преткновения. Теперь мы ввели полноценное понятие темы. При открытии старого проекта в 1.19.0.0 мигратор автоматически создает сущность темы на основании ваших ресурсов для каждой потенциальной темы. Тема обозначается специальным значком. Тему можно добавить одним из трех способов: (1) Сгенерировать тему (по старому способу). Контекстное меню дерева ресурсов -> "Сгенерировать тему". (2) Добавить пустую тему. Все ресурсы темы вы должны добавить самостоятельно по вашему усмотрению. Контекстное меню дерева ресурсов -> "Добавить тему". В этом случае создается пустая тема без какого-либо ресурса. Все необходимые ресурсы вы должны добавить туда самостоятельно. (3) Сконвертировать каталог с ресурсами в тему. Контекстное меню дерева ресурсов -> "Конвертировать в тему". Как только тема добавлена в менеджере ресурсов, так сразу вы можете ее использовать ее в вашем приложении. Темы могут располагаться в любом месте, в том числе во вложенных папках. Доступ к темамНа уровне TfgAssetsManager добавлен новый метод, позволяющий получить список тем: /// <summary>Возвращает названия всех доступных тем.</summary> function GetThemesNames: TArray<TfgThemeName>;Применение темыТеперь тема может быть применена на уровне приложения без необходимости указывать ее на уровне каждой формы. Для этого добавлено новое свойство Application.ThemeSettings. Новые объект позволяет указать светлую и темную темы через свойства: /// <summary>Название светлой темы FGX Native, используемой по умолчанию во всех формах.</summary> property LightThemeName: TfgThemeName read FLightThemeName write SetLightThemeName; /// <summary>Название темной темы FGX Native, используемой по умолчанию во всех формах.</summary> property DarkThemeName: TfgThemeName read FDarkThemeName write SetDarkThemeName;За выборе темы при старте приложения отвечает свойство /// <summary>Применяемая тема по умолчанию.</summary> /// <remarks> /// Если приложение не поддерживает темную тему (Темная тема не включена в настроках проекта), то вид темы /// будет всегда <c>Light</c>. /// </remarks> property ThemeKind: TfgThemeKind read FThemeKind write SetThemeKind;Теперь вы можете указать, чтобы тема автоматически была согласована с системной темой устройства, либо же принудительно применить светлую или темную тему. Основным способом указания темы, является появление нового окна настроек Project -> FGX Options... -> Приложение -> Темы Помимо задания темы на уровне приложения, вы так же можете указывать ее на уровне формы, если по каким-то причинам, вы хотите использовать другой вариант темы на какой-то форме. Использование файла Assets.ConstsНачиная с 1.19.0.0 изменена логика генерации файла констант с именами ресурсов. В этом релизе мы провели унификацию названий полей. R.Fonts -> R.Font R.Images -> R.Image R.LottieAnimations -> R.LottieAnimation R.Files -> R.&File Так же теперь R.Theme не возвращает ресурсы текущей темы. За это отвечает новое поле R.CurrentTheme, которое возвращает имя ресурса темы в зависимости от теущей темы приложения. Таким образом, вам больше не нужно вручную динамически формировать имя ресурса в зависимости от светлой или темной темы. R.Theme теперь выдает доступ ко всем темам приложения. TfgCurrentTheme = record /// <summary>Identifiers with current theme colors assets.</summary> class var Color: TfgThemeColors; end; TfgThemes = record class var ThemeDark: TfgThemeThemeDark; class var ThemeLight: TfgThemeThemeLight; end; /// <summary>Identifiers with current theme assets.</summary> class var CurrentTheme: TfgCurrentTheme; /// <summary>Identifiers with themes names.</summary> class var Theme: TfgThemes;Использование ресурсов темыТеперь, при использовании ресурсов темы допускается два способа указания имени: Адаптированное имя под текущую тему. Если вы хотите, чтобы при смены темы, используемый ресурс так же брался из новой темы, то в качестве разделителя названия темы и ресурса нужно использовать ":". Например: "Themes\Light\Green:Background". Фиксированное имя. Если вы не хотите изменения названия ресурса темы при смене темы, то используйте старый способ указания имени "Themes\Light\Green\Background". МиграцияВажно: Перед выполнением миграции вашего проекта ОБЯЗАТЕЛЬНО сделать резервную копию проекта, чтобы в случае чего можно было откатиться обратно. Чтобы облегчить миграцию ваших проектов для поддержки новых тем, мы разработали мастер, который поможет автоматически выявить все места использования ресурсов тем. Мастер: Распознает все свойства (из библиотеки), связанные с ресурсами. Извлекает текущее значение имени ресурса. Для DFM/XFM файлов форм и фреймов проверяет имя ресурса на предмет принадлежности темы - вхождение слова "Theme" (без учета регистра). Если у вас в названии темы не фигурирует слово "Theme", пожалуйста, сообщите в комментариях под этой статьёй. Для обнаруженных имен ресурсов (только для XFM) автоматически формирует новое имя с учетом нового синтаксиса и предлагает автоматическую замену . При открытии старого проекта автоматически запускается миграция проекта на новую версию, в рамках чего будет отображен мастер только если в вашем проекте будут найдены потенциальные места использования ресурсов из тем. Важно: Мастер сканирует только файлы добавленные в проект напрямую. Другими словами, все файлы, которые используются в проекте, но не добавлены в него анализироваться не будут. Адаптация DFM/XFM файловЕсли вы не хотите применять предложенное изменение, снимите галку напротив строки с предложенным изменение в левом дереве. Мы применили наш мастер на все демонстрационные проекты, а так же проверили его на наших больших демонстрационных проектах с вебинаров. Ошибок в адаптации найдено не было. Допускаем, что какие-то варианты могут быть не учтены, поэтому, важно делать резервные копии. По умолчанию мы создаем копию затрагиваемых оригинальных файлов и добавляем окончание ".backup". Если вы уверены в предложенных изменения, вы можете отключить резервные копии файлов через снятия галки чекбокса в футере окна. Адаптация PAS файловОтдельно изучите найденные изменения в PAS файле и выполните адаптацию самостоятельно. Поскольку вариантов формирования имени ресурса из темы большое количество и ограничено только вашей фантазией, мы не можем корректно проанализировать ваш код, но можем предположительно найти только потенциальные места, где идет программное изменение свойств, затрагивающих работу с названием ресурсов. Вот несколько советов, которые вам помогут: Если вы используете константы из файла Assets.Consts.R, то в этом релизе мы провели унификацию названий полей. Если вы используете программный доступ к этим ресурсам, переименуйте их согласно схеме выше. R.Fonts -> R.Font R.Images -> R.Image R.LottieAnimations -> R.LottieAnimation R.Files -> R.&File Изменена логика использования R.Theme. Теперь она содержит не ресурсы текущей темы, а все темы приложения, с возможностью получить доступ к ресурсам каждой темы. Если вы используете в проекта R.Theme, вам необходимо его заменить на R.CurrentTheme. Важно: Адаптацию pas файлов нужно выполнить самостоятельно. TfgControl.UpdateThemeВ некоторых проектах используется метод TfgControl.UpdateTheme, который был добавлен для временного решения проблемы с применением тем при динамическом встраивании компонентов и фреймов В новой версии 1.19.0.0 этого метода больше нет, так как теперь адаптация применения темы выполняется библиотекой самостоятельно. Поэтому вам НЕ ТРЕБУЕТСЯ больше вызывать этот метод. Поэтому удалите использование этого метода из вашего проекта. Дизайнер формыВ этом релизе так же добавлена возможность быстрого переключения тем вашего приложения в дизайнере формы. Таким образом вы можете в одно нажатие посмотреть, как выглядит форма в темной или светлой темах. Для этого воспользуйтесь новыми кнопками переключения темы на панели инструментов в дизайнере формы: При переключении темы для формы меняется выбранная тема по умолчанию. А именно, светлая или темная тема берется из настроек проекта. Поэтому, чтобы это переключение сработало нужно: Темная и светлая темы были добавлены в дизайнере ресурсов Темная и светлая темы были указаны в настройках проекта. Если оба условия не выполнены, то переключение тем никак не приведет к изменению отображени Так же мы обновили дизайнер выбора ресурса. Теперь он открывается в отдельном окне. Если ресурс применяется из темы, то в его имени используется ":", как разделитель названия темы и ресурса внутри него. Помимо этого мы мы добавили ряд небольших изменений в сам дизайнер формы, которые, возможно, вам пригодятся. (1) Теперь при выделении компонента, отображается его имя и размер. А при перетаскивании имя теперь не выводится. Если вы нехотите, чтобы выводился размер или название. Вы можете отключить это поведение в общих настройках среды: Tools -> Options -> Third Party -> Form Designer (2) Добавлена возможность быстрого переключения формы в текстовый режим. Теперь при нажатии на кнопку "Как текст", дизайнер переключиться на режим отображения текста формы. (3) Теперь режим отображения сетки, границ компонентов, темы, стиля и тд. синхронизируется между дизайнерами форм. И например отображение сетки в одной форме приводит к отображению сетки на всех формах. ЗаключениеЕсли в ходе миграции или проверки ваших приложений на 1.19.0.0 вы столкнулись с трудностями или у вас есть предложения, пожалуйста, дайте нам знать.
- Неправильно считается высота TfgCollectionView на встроенной форме
- Неправильно считается высота TfgCollectionView на встроенной форме
- Неправильно считается высота TfgCollectionView на встроенной форме
- Неправильно считается высота TfgCollectionView на встроенной форме