FMXBridge для Inno Setup (внутренний проект)

DLL FMXBridge для Inno Setup (внутренний проект) 03.02

Нет прав для скачивания

audiofeel

Ветеран
audiofeel добавил(а) новый ресурс:

FMXBridge для Inno Setup (внутренний проект) - FMXBridge DLL с COM-обёртками и системными утилитами для Inno Setup

Небольшой внутренний проект - DLL, сделанная под собственные задачи.

DLL используется как мост между FMX и Inno Setup: внутри DLL создаётся FMX-форма с обёртками компонентов, а управление и логика выполняются со стороны инсталлятора; сделано под собственные задачи и конкретные сценарии, без расчёта на универсальность.

За основу был взят проект с GitHub а так же...

Узнать больше об этом ресурсе...
 
За активацию caret (текстового курсора в полях ввода) - спасибо HemulGM, за консультации.
GIFImage взят от сюда
DzHTMLText от сюда
SVGIconImage от сюда
 
Последнее редактирование:
audiofeel обновил(а) ресурс FMXBridge для Inno Setup (внутренний проект) новой записью:

Небольшое обновление

Добавлено:
  • Для FCheckBoxTree — двустороннее управление чекбоксами секции (главный ↔ дочерние, включая радиокнопки).
  • Для FSpeedButton — процедура Pressed(FValue: Boolean), гарантирует, что кнопка визуально выглядит нажатой при старте.

Узнать больше об этом обновлении...
 
Последнее редактирование:
знаю что там нету вирус, но раньше такой не было, касперский удалить даже fmxbridge dll


1769594908648.png
 
знаю что там нету вирус, но раньше такой не было, касперский удалить даже fmxbridge dll


Посмотреть вложение 9842
Я знаю. Размер жалко:rolleyes:

56.png
code_language.pascal:
//{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
//{$WEAKLINKRTTI ON}
Убраны данные, вызывавшие ложные срабатывания антивирусов.
Пробуй.
 
Последнее редактирование:
Экспериментальный патч акцентного цвета.

⚠️ Внимание: функция экспериментальная. Меняет акцентный цвет по всему стилю. Если стиль нестандартный, результат может отличаться. Сценарий продолжит работать даже при некорректном стиле.

1. Стиль
Стиль должен быть FMX, а не набор атласов (как в VCL).
В стиле обязательно должен быть ресурс с именем color_accent:
code_language.pascal:
object TLayout
  StyleName = '#resources'
  object TBrushObject
    StyleName = 'color_accent'
    Brush.Color = xFF60CDFF  // исходный акцентный цвет, должен совпадать с тем что хотите искать и заменить.
  end
end
Патч ищет цвет именно в #resources и заменяет его по всему стилю.
Если ресурс отсутствует - цвет не меняется.

2. Как использовать
code_language.pascal:
// Загрузка стиля и замена акцента на новый цвет
// AccentColor = 0 → оставляем цвет из стиля
TFForm.LoadStyleFromFile('C:\Path\To\Style.style', $FF0781E0);

// Или оставляем как в стиле:
TFForm.LoadStyleFromFile('C:\Path\To\Style.style', 0);

3. Куда применяется новый цвет
Фоны кнопок и панелей (TShape / TRectangle)
Внутренние заливки стиля (TBrushObject / TColorObject)
Анимации цвета при наведении и клике (TColorAnimation)
Тексты на кнопках и вкладках (TLabel / TText / TTabStyleTextObject / TActiveStyleTextObject / TButtonStyleTextObject)
Переключатели (TSwitchObject)
Эффекты заливки (TFillRGBEffect)
Меняется только основной цвет, прозрачность остаётся прежней. Hover/Pressed эффекты работают корректно.

4. Принцип работы
Патч ищет ресурс color_accent.
Если найден - меняет цвет по всему стилю, сохраняя прозрачность.
Если не найден или передан 0 - ничего не меняется.

Пользователь сам решает, менять акцентный цвет или оставить как в стиле.
Всё бессовестно взято отсюда :pardon: https://github.com/HemulGM/DelphiWinUI3
 
Последнее редактирование:
Экспериментальный патч акцентного цвета.

⚠️ Внимание: функция экспериментальная. Меняет акцентный цвет по всему стилю. Если стиль нестандартный, результат может отличаться. Сценарий продолжит работать даже при некорректном стиле.

1. Стиль
Стиль должен быть FMX, а не набор атласов (как в VCL).
В стиле обязательно должен быть ресурс с именем color_accent:
code_language.pascal:
object TLayout
  StyleName = '#resources'
  object TBrushObject
    StyleName = 'color_accent'
    Brush.Color = xFF60CDFF  // исходный акцентный цвет, должен совпадать с тем что хотите искать и заменить.
  end
end
Патч ищет цвет именно в #resources и заменяет его по всему стилю.
Если ресурс отсутствует - цвет не меняется.

2. Как использовать
code_language.pascal:
// Загрузка стиля и замена акцента на новый цвет
// AccentColor = 0 → оставляем цвет из стиля
TFForm.LoadStyleFromFile('C:\Path\To\Style.style', $FF0781E0);

// Или оставляем как в стиле:
TFForm.LoadStyleFromFile('C:\Path\To\Style.style', 0);

3. Куда применяется новый цвет
Фоны кнопок и панелей (TShape / TRectangle)
Внутренние заливки стиля (TBrushObject / TColorObject)
Анимации цвета при наведении и клике (TColorAnimation)
Тексты на кнопках и вкладках (TLabel / TText / TTabStyleTextObject / TActiveStyleTextObject / TButtonStyleTextObject)
Переключатели (TSwitchObject)
Эффекты заливки (TFillRGBEffect)
Меняется только основной цвет, прозрачность остаётся прежней. Hover/Pressed эффекты работают корректно.

4. Принцип работы
Патч ищет ресурс color_accent.
Если найден - меняет цвет по всему стилю, сохраняя прозрачность.
Если не найден или передан 0 - ничего не меняется.

Пользователь сам решает, менять акцентный цвет или оставить как в стиле.
Всё бессовестно взято отсюда :pardon: https://github.com/HemulGM/DelphiWinUI3
А говорил нельзя, да нельзя. Теперь в стилях несколько цветов определить для того-же материала и сделать замену при запуске -_- Полюбому сделаешь :acute:
 
Последнее редактирование:
А говорил нельзя, да нельзя. Теперь в стилях несколько цветов определить для того-же материала и сделать замену при запуске -_- Полюбому сделаешь :acute:
Можно. Только это уже в отдельную нужно процедуру
3.png
 
audiofeel обновил(а) ресурс FMXBridge для Inno Setup (внутренний проект) новой записью:

Небольшое обновление

Добавлено - загрузка файлов

Позволяет скачивать файлы с отображением прогресса и скорости, с возможностью остановки через колбэк или глобально через AbortAllDownloads. Поддерживает последовательную загрузку нескольких файлов, обновление интерфейса через TDownloadCallback и сохраняет данные напрямую в файл через THTTPClient.

Пример
code_language.pascal:
var
  Url, FileName: WideString;
begin
  Url := 'https://example.com/file.zip';
  FileName := 'C:\Downloads\file.zip';

  DownloadFile(Url...

Узнать больше об этом обновлении...
 
Назад
Сверху