FMXBridge.dll для Inno Setup

DLL FMXBridge.dll для Inno Setup 29.09

Нет прав для скачивания
обновлил на последнюю версию теперь крошится в рунтайм с такой ошибкой на предыдущей версии работает норм ,Как это исправить на последней версии бридж
 

Вложения

  • Screenshot_1.png
    Screenshot_1.png
    34.9 KB · Просмотры: 9
обновлил на последнюю версию теперь крошится в рунтайм с такой ошибкой на предыдущей версии работает норм ,Как это исправить на последней версии бридж
Я об этом знаю, но внести изменения в эту версию, связанные с вызовом procedure CanvasQuality(FQuality: TCanvasQuality);, я не могу - у меня так устроена Bridge :greeting:.
code_language.pascal:
procedure TFForm.CanvasQuality(FQuality: TCanvasQuality);
var
  PropertyStore: TDictionary<string, Variant>;
begin
  PropertyStore := TDictionary<string, Variant>.Create;
  try
    PropertyStore.Add('Quality', GetEnumName(TypeInfo(TCanvasQuality),
      Ord(FQuality)));

    TFormAccess(FormMain).SetPreloadProperties(PropertyStore);
  finally
    PropertyStore.Free;
  end;

  TFormAccess(FormMain).RecreateResources;
end;
Могу дать промежуточную версию, где это уже исправлено, но есть один нюанс: в ней есть изменения API некоторых функций и обёрток, а также добавлены новые обёртки, и она пока толком не "протестирована".

Либо жди следующую версию (забей). Но это не прям завтра...
 
я подожду лучше , откатился просто обратно на прошлую версию где нет WebP который я прям ждал. так то все что надо остальное работает и не кретично просто ждал когда вы внедрите в дллку WebP, за что спасибо вам огромное. Ждемс обновления. По сути уровень уже бриджей прям радует возможностей для иреализации хороших задумок по инсталятору множество.
 
я подожду лучше , откатился просто обратно на прошлую версию где нет WebP который я прям ждал. так то все что надо остальное работает и не кретично просто ждал когда вы внедрите в дллку WebP, за что спасибо вам огромное. Ждемс обновления. По сути уровень уже бриджей прям радует возможностей для иреализации хороших задумок по инсталятору множество.
Не вызывай CanvasQuality
 
audiofeel обновил(а) ресурс FMXBridge.dll для Inno Setup новой записью:

FMXBridge - последние изменения

1. Массовое изменение сигнатур
Практически во ВСЕХ интерфейсах метод создания переделан:
Т.е. раньше FCreate возвращал Handle/..., теперь просто инициализирует объект, а Handle берётся через .Handle.

2. Удалённые типы-обёртки (заменены на TFmxObject)
Убраны алиасы (все были NativeInt):
IMenuItem, IMainMenu, ISearchBox, IListBoxGroupFooter, IListBoxGroupHeader...

Узнать больше об этом обновлении...
 
Главные новинки

FAnimation - новый универсальный анимационный интерфейс

Добавлена полноценная обёртка над FMX-анимацией, которую теперь можно использовать не только для визуальных эффектов, но и как анимационный таймер для UI-задач. Через Duration, Delay, Loop, AutoReverse, Inverse, Pause, AnimationType и Interpolation можно полностью управлять циклом выполнения, а через OnProcess получать события обработки и через GetCurrentTime / GetNormalizedTime - текущее время и нормализованный прогресс.

Начиная с RAD Studio Florence 13.0 FireMonkey использует новый Display Link Service как центральный механизм для анимаций вместо прежнего таймерного механизма. Обновления анимаций синхронизируются с фактической частотой обновления дисплея и VSync, поэтому UI-анимации обрабатываются значительно естественнее, чем обычный TTimer.

Поэтому FAnimation можно использовать, например, как основу для:

плавных UI-анимаций;
marquee/spinner/progress-эффектов;
покадрового обновления визуальных элементов;
периодических UI-операций через Loop + OnProcess.

При этом это не замена обычному системному таймеру вообще: FAnimation предназначен прежде всего для задач, связанных с UI и кадровым обновлением. Его главное преимущество - работа в ритме FMX-анимационного цикла, а не независимый Interval-таймер.

FSpinner - готовая обёртка для spinner

Добавлен интерфейс для создания и управления индикатором ожидания без необходимости напрямую работать с FMX-компонентом.

Через него сразу доступны:
Kind, Color, Speed, Start, Stop, Opacity, Visible, Enabled, позиционирование, Align, Margins, Padding, Tag, HitTest, события мыши и Handle.

То есть spinner теперь выступает как самостоятельный UI-компонент DLL API: его можно создать на любом TFmxObject, настроить внешне и запустить/остановить без доступа клиента к внутреннему классу.

Новый FWinTitleBar - значительно более близкая к системной модель поведения

Главное изменение здесь не только внешний вид, а поведение title bar.

Новый title bar теперь получает реальные данные окна и ведёт себя значительно ближе к стандартному caption bar:

получает реальный Caption формы;
извлекает и отображает иконку исходного HWND;
учитывает возможности окна - наличие Minimize, Maximize и Close;
рассчитывает положение кнопок на основании caption metrics;
использует системные WM_SYSCOMMAND для Minimize, Maximize, Restore;
поддерживает двойной клик по области заголовка для переключения Maximize/Restore;
использует стандартную модель WM_NCLBUTTONDOWN / HTCAPTION для перетаскивания окна;
имеет отдельное поведение для Close;
поддерживает тёмную и светлую тему;
на Windows 11 использует Segoe Fluent Icons, а на старых версиях Windows - Segoe MDL2 Assets;
отображает корректную иконку окна через получение HICON из самого HWND.
 
Последнее редактирование:

Обновлены Examples​

Немного доработаны некоторые Examples. Изначально они делались в основном как внутренние тесты для проверки, поэтому часть из них больше выглядела как тесты, чем как демо.

Сейчас немного привёл их в порядок, чтобы они больше походили на нормальные примеры и лучше показывали возможности FMXBridge.
 
Исправлены системные диалоги Open/Save/Browse: ранее они могли наследовать оформление и тему Inno Setup, теперь диалоги создаются и выполняются в отдельном STA-потоке, независимо от UI-потока хоста.

1a.png

2b.png
 
Назад
Сверху