View Full Version : FMXInno - Windows Fluent Design Installer UI for Inno
BLACKFIRE69
27-12-2021, 11:51
🎉 Introducing FMXInno
I’m excited to introduce FMXInno, a project I've been passionately developing over the past few days. FMXInno is built upon the foundation laid by Jivanewstone's ISFMXFW project, which you can explore here (https://github.com/Jivanewstone/ISFMXFW.git).
FMXInno is a versatile and powerful plugin that brings the elegance of Windows Fluent Design, custom image-based forms, and standard FMX forms to Inno Setup. But it doesn’t stop there—FMXInno offers a comprehensive toolset designed to enhance your Inno Setup projects with modern UI elements, rich customization options, and a streamlined workflow.
🔑 Key Features:
🛠 All-in-One Solution: FMXInno provides everything you need to create sophisticated and visually appealing installers.
🎒 Comprehensive Toolset: A robust collection of tools and objects to design and customize your setup projects.
🧑 Ease of Use: Designed to be user-friendly, FMXInno allows you to effortlessly create modern UIs, even with minimal coding experience.
🎨 Rich Customization: Tailor every aspect of your installer with a wide range of FMX objects and customization options.
✨ Modern UI Design: Bring your setups into the modern age with sleek, professional interfaces.
⚡ Fast and Flexible: Quickly adapt your designs with real-time updates and dynamic interactions.
⏱ Efficient Workflow: Streamline your development process with intuitive tools that save you time and effort.
🚀 Rapid Development: Accelerate your project timelines with FMXInno's responsive and efficient features.
🔗 Seamless Integration: FMXInno integrates smoothly with your existing Inno Setup projects, enhancing them without complexity.
💎 Modern Aesthetics: Give your installers a polished and contemporary look that stands out.
🌐 Open Source and Future Plans
I’m committed to keeping FMXInno open-source, with plans to release the full source code as soon as possible. This project will continue to evolve, and I’m excited to see how the community will contribute to its growth.
💡 Examples and Capabilities
To give you a better understanding of what FMXInno.dll can do, I’ve included a few examples that showcase its capabilities. These examples will provide a clear idea of how FMXInno can transform your installation experience.
❓ Q&A:
Q: Can I apply certain FMXInno features to an existing Inno script without creating a new one?
A: Absolutely! I've attached an example that demonstrates this. You can achieve this by using a standard FMX form, making it easy to integrate FMXInno into your current projects.
.
Thank you BLACKFIRE69, i will test this out..
ScOOt3r
Nice one mate!
Looks cool and clean.
https://ibb.co/PM3QKVW just doing a sample install.. installed only 2 data file and when it installs
https://ibb.co/PM3QKVW
this is what it shows.. data1 data1 and uninstall
not sure if its an error in the scrip or something i was doing wrong
BLACKFIRE69
30-12-2021, 08:56
https://ibb.co/PM3QKVW just doing a sample install.. installed only 2 data file and when it installs
https://ibb.co/PM3QKVW
this is what it shows.. data1 data1 and uninstall
not sure if its an error in the scrip or something i was doing wrong
it just works fine?
.
DicDalll
05-01-2022, 00:02
hello, I'm new to this stuff, I like your design very much, but which line of code should I add to install my own .iso file with the setup? I tried researching but it was too complicated :s
in 4k screen ,, scale problems
Did a small test on Windows 10, lets just say it didnt turn out good.
https://gyazo.com/c174acae55c914a0343e510993e7b5fc
Upon trying to move the application I have no control over it and it just keeps moving on its own
BLACKFIRE69
12-01-2022, 12:34
in 4k screen ,, scale problems
ok lolaya, i'll try to do something about this.
BLACKFIRE69
12-01-2022, 12:52
Did a small test on Windows 10, lets just say it didnt turn out good.
https://gyazo.com/c174acae55c914a0343e510993e7b5fc
Upon trying to move the application I have no control over it and it just keeps moving on its own
this doesn't seems to work properly on Windows 10, but i can give you a quick fix. ;)
the quick fix requires at least Windows 10, version 1809 (build 17763) .
Tested on:
1. Windows 10, version 20H2.
2. Windows 10, version 21H1.1. open the script, scroll down until FMXDesigning procedure and set NoBorder to True for both FCreateFluent & FCreateFluentColor.
https://i.ibb.co/3p76h0t/Annotation1.png
2. replace the current FMXInno.dll file.
3. in addition, change your power-plan to High/Ultimate performance mode.
https://i.ibb.co/4WnVDGV/Annotation2.png
.
Advanced Repack
15-01-2022, 03:29
Good luck...
I like programing
this doesn't seems to work properly on Windows 10, but i can give you a quick fix. ;)
the quick fix requires at least Windows 10, version 1809 (build 17763) .
Tested on:
1. Windows 10, version 20H2.
2. Windows 10, version 21H1.1. open the script, scroll down until FMXDesigning procedure and set NoBorder to True for both FCreateFluent & FCreateFluentColor.
https://i.ibb.co/3p76h0t/Annotation1.png
2. replace the current FMXInno.dll file.
3. in addition, change your power-plan to High/Ultimate performance mode.
https://i.ibb.co/4WnVDGV/Annotation2.png
.
Hello upon testing this, it doesn't seem to work. I am still have the same issue.
BLACKFIRE69
20-01-2022, 06:11
Hello upon testing this, it doesn't seem to work. I am still have the same issue.
noticed. can you run this test first?
.
noticed. can you run this test first?
.
Sorry for the late response but I get the same results as you
BLACKFIRE69
15-02-2022, 02:45
Update available!
what's new
-- Feature Added: Form Image SlideShow ( Windows 11 / 10 )
ScreenShot:
Behnam2018
27-04-2022, 19:17
Nice Installer
Thanks
Please Script
:o
Behnam2018
29-04-2022, 18:42
Thanks
houcine80
02-05-2022, 09:55
Greet work and nice look
Behnam2018
02-05-2022, 19:44
Please disable the message Please disable the message in Windows 7
BLACKFIRE69
03-05-2022, 10:56
Please disable the message Please disable the message in Windows 7
sorry, FMXInno.dll plugin doesnt work on older versions of windows.
BLACKFIRE69
26-05-2022, 00:24
could you provide an example of how you calculate the free space needed for installation. if any additional checkboxes are marked. you have an example, but it is not completed
https://i.ibb.co/nBHLydj/Screenshot-2022-05-26-032746.png (https://ibb.co/JqfsT6H)
is this not enough?
function InitDiskUsage: FDiskUsage;
// DISK
FDiskUsage = interface(IUnknown)
'{08403E71-113A-4F88-960F-36296CB8AAA1}'
procedure SetDir(Const ADir: String);
function DiskLoad: Cardinal;
function TotalSpace: Double;
function FreeSpace: Double;
function UsedSpace: Double;
end;
BLACKFIRE69
10-06-2022, 12:18
Update!
- Added a blank form.
- Added new effects.
- Added translucent objects.
- Integrated a HTTP Client API.
- Updated classes.
- Updated image slideshow.
BLACKFIRE69
11-06-2022, 00:41
I could not apply the font through "function AddFontResource" if it is not difficult I would like to see how you do it.
here is an example.
BLACKFIRE69
11-06-2022, 04:11
please make examples of "SysFunc.iss". especially interested in "function BrowseDirModern".
SysFuncDLL Fix + BrowseDirModern Example (https://app.box.com/s/roa2gogx113haj4oxh1k60luqscuklyv)
why does the "FDirBrowse" already have a path "C:\Program Files (x86)" and can't apply {code:nosd} ?
oops. check this out. ;)
FMXInnoDLL v1.0.0.1 + Fix (Lib Only) (https://app.box.com/s/n56mviv319lk2o3wvfawmkggg66m26rk)
[Setup]
...
DefaultDirName ={code:DefMyPath}\Inno Example with FMXInno Library
...
{Code]
...
function DefMyPath(Param: String): String;
begin
Result:= ExpandConstant('{win}');
end;
...
procedure FMXDesigning;
begin
...
{ Dir Browse Dlg }
DirBrowseDlg.FCreate(0, 'Select Install Directory', WizardForm.DirEdit.Text);
...
end;
BLACKFIRE69
19-06-2022, 16:48
Update!
* Added color conversion between FMX and VCL (Testing).
* Added image slideshow api.
-- Supports multi-transitions.
* Added some other functions.
-- GetDesktopImgColorVCL
-- GetDesktopImgColorFMX
* Added HTTP Client Api to work with single-thread.
* Fixed minor issues known so far.
* Updated Classes.
.
fabrieunko
19-06-2022, 21:47
hello, I have a question, is your setup usable with dsg?
BLACKFIRE69
20-06-2022, 05:50
hello, I have a question, is your setup usable with dsg?
yes, after a few modifications, it can be done. but by default it doesn't work with dsg.
BLACKFIRE69
20-06-2022, 05:53
Greetings. If a theme with multiple images (slide show) is selected in the system, an error occurs. I attach a screenshot. possible only on the Win 11 Dev 25410 build
https://ibb.co/sKr140s
fixed!
.
BLACKFIRE69
20-06-2022, 10:27
FMXInno v1.0.0.2 - Fix 02
following functions have been fixed.
1. GetDesktopImgColorVCL
2. GetDesktopImgColorFMX
3. FMXColorToVCL
4. VCLColorToFMX
5. SetVCLColorLighter
6. SetVCLColorDarker
7. GetImgColorVCL
8. GetImgColorFMX
.
BLACKFIRE69
22-06-2022, 12:26
FMXInno Updates
* Customizable lock screen.
-- AutoMode
-- Animations
-- Blur Effect
-- Custom Font Settings
-- Custom positions
-- Lockscreen Image
-- Lockscreen Text
.
BLACKFIRE69
23-06-2022, 13:20
FMXInno Updates
Just added Button sounds and LockScreen lock/unlock sounds. ;)
* Button Sounds:
1. Clear Buttons.
2. ClearGradient Buttons.
3. Color Buttons.
4. ColorGradient Buttons.
5. Picture Buttons.
6. WinRound Buttons.
7. FMX Default Buttons.
* Custom Dlgs:
1. Exit Page Buttons.
2. DirBrowse Dlg Buttons.
3. StartMenu Dlg Buttons.
* LockScreen Sounds:
1. Lock.
2. Unlock.
Examples:
{ Dir Browse Btn }
BrowseBtn.FCreate(FMXForm.Handle, Ns(WizardForm.InnerNotebook.Left + WizardForm.DirBrowseButton.Left),
Ns(WizardForm.InnerNotebook.Top + WizardForm.DirBrowseButton.Top), '&Browse...');
BrowseBtn.BackColor($FF3DFA85, $FF0885EB);
BrowseBtn.GradientPosition(False);
BrowseBtn.OnClick(@BrowseBtnOnClick);
#ifdef ButtonSounds
BrowseBtn.ButtonSounds(ExtractAndLoad('Enter.wav') , '', ExtractAndLoad('Click.wav'));
#endif
{ Dir Browse Dlg }
DirBrowseDlg.FCreate(0, 'Select Install Directory', WizardForm.DirEdit.Text);
DirBrowseDlg.ChangeBckgndClr($00AAFA05);
DirBrowseDlg.Transparency(26);
#ifdef ButtonSounds
DirBrowseDlg.ButtonSounds(ExtractAndLoad('Enter.wa v'), '', ExtractAndLoad('Click.wav'));
#endif
{ Exit Page }
ExitMsg.FCreate(FMXForm.Handle, NS(170), ALCrimson, CustomMessage('YesBtn'),
CustomMessage('NoBtn'), CustomMessage('ExitMsg1'), CustomMessage('ExitMsg2'), False, False, False);
ExitMsg.Opacity(0.9);
ExitMsg.YesBtnClick(@ExitYesBtnOnClick);
ExitMsg.NoBtnClick(@ExitNoBtnOnClick);
#ifdef ButtonSounds
ExitMsg.ButtonSounds(ExtractAndLoad('Enter.wav'), '', ExtractAndLoad('Click.wav'));
#endif
{ Lock Screen }
LockScreen.FCreate(FMXForm.Handle, txCenter, True);
LockScreen.AutoActivate(FMXForm.HandleHWND, WizardForm.Handle);
#ifdef LockScreenSounds
LockScreen.LockSounds(ExtractAndLoad('Lock.wav'), ExtractAndLoad('UnLock.wav'));
#endif
BLACKFIRE69
26-06-2022, 07:13
FMXInno v1.0.0.2 - Fix 02
following functions have been fixed.
1. GetDesktopImgColorVCL
2. GetDesktopImgColorFMX
3. FMXColorToVCL
4. VCLColorToFMX
5. SetVCLColorLighter
6. SetVCLColorDarker
7. GetImgColorVCL
8. GetImgColorFMX
two additional functions were added if needed.
function GetImgPartColorFMX(AImage: WideString; PixelX, PixelY, PixelH, PixelW: Integer): Integer;
function GetImgPartColorVCL(AImage: WideString; PixelX, PixelY, PixelH, PixelW: Integer): Integer;
Example:
{ TranslucentRect }
TranslucentRect.FCreate(BackgroundImage.Handle);
TranslucentRect.SetBounds(NS(76), NS(32), NS(485), NS(128));
TranslucentRect.BlurColor(GetImgPartColorFMX(Extra ctAndLoad('wallpaper_color.jpg'), 290, 700, 43, 148));
TranslucentRect.OnMouseDown(@FormMouseDown);
{ TranslucentCircle }
TranslucentCircle.FCreate(BackgroundImage.Handle);
TranslucentCircle.SetBounds(NS(32), NS(192), NS(200), NS(200));
TranslucentCircle.BlurColor(GetImgPartColorFMX(Ext ractAndLoad('wallpaper_color.jpg'), 773, 277, 26, 57));
TranslucentCircle.OnMouseDown(@FormMouseDown);
{ TranslucentCallout }
TranslucentCallout.FCreate(BackgroundImage.Handle) ;
TranslucentCallout.SetBounds(NS(408), NS(192), NS(200), NS(200));
TranslucentCallout.BlurColor(GetImgPartColorFMX(Ex tractAndLoad('wallpaper_color.jpg'), 681, 658, 34, 91));
TranslucentCallout.OnMouseDown(@FormMouseDown);
https://i.ibb.co/8j2Y875/FMXInno-img04-1.png
FMXInno v1.0.0.2 - Final Release [06/26/22] has been uploaded to the first post (https://www.fileforums.com/showpost.php?p=495282&postcount=1). you can download it now.
FMXInno External Plugins:
- CLILib v1.0.0.0
- CmdOut v1.0.0.2
- FDownloader_multi v1.0.0.0
- ImgSlideShow v1.0.0.0
- ISArcEx v0.4.0.0
- MFT v1.1.0.0
- Sysfunc v1.0.0.0
- SplitterLib v1.0.0.0
- XBass_f v4.0.0.0
- ZipperLib v1.0.0.0
BLACKFIRE69
30-06-2022, 11:52
( just an attempt to test the FMXInno library. this concept was taken from the @hitman797's OLD Installer post.
i won't recreate it with the FMXInno. just to give you an idea of the capabilities of FMXInno. )
.
Blackfire is there any way to add more Compos at least 8, i tried and couldnt get it to work
thanks
ScOOt3r
BLACKFIRE69
01-07-2022, 06:42
Blackfire is there any way to add more Compos at least 8, i tried and couldnt get it to work
thanks
ScOOt3r
i increased it to 12 compos.
press "Ctrl + F", then search for the word "NewCompos". you'll find the implementation. ;)
.
Thanks so much BlackFire. this works perfect now..
cheers
ScOOt3r
is there a way to change the time from 14:50 to like 2:50 if so how..
thanks
ScOOt3r
BLACKFIRE69
05-07-2022, 20:38
is there a way to change the time from 14:50 to like 2:50 if so how..
thanks
ScOOt3r
there's no way so far. but wait for the next update. ;)
.
BLACKFIRE69
06-07-2022, 07:14
FMXInno v1.0.0.2 Final Release [06-07-22]
-- Added Custom Fluent Window.
-- Added Fluent Design DirBrowse Window.
-- Added Fluent Design StartMenuBrowse Window.
-- Added Fluent Uninstall Progress Form.
-- Added Enable/Disable for Fluent effects.
-- Added Some New Functions.
-- Fixed Translucent Objects Blur issue.
-- Fixed Animate function of each object.
-- Fixed Memory(RAM) Usage(Percentage) issue.
-- Fixed Minor Bugs.
-- Included Old Installer Demo.iss.
-- Updated NewScaler v2.0.
1. NSX, NSSX, ANSX, ANSSX, NSX2, NSSX2, ANSX2, ANSSX2 - For X values.
2. NSY, NSSY, ANSY, ANSSY, NSY2, NSSY2, ANSY2, ANSSY2 - For Y values.
3. NS, NSS, ANS, ANSS, NS2, NSS2, ANS2, ANSS2 - For Both values.
-- Updated Examples.
Check the first post (https://fileforums.com/showpost.php?p=495282&postcount=1).
.
Thank you Blackfire69 this update works great..
thanks for everything
ScOOt3r
BLACKFIRE69
07-07-2022, 12:22
FMXInno Updates
-- Added Botva2-like buttons, checkboxes, and progress bars.
// Picture Button 2 AND CheckBoxes
type
FPictureButton2 = interface(IUnknown)
'{FA2FD0DA-5D2B-487D-A130-F23C4861AA7F}'
function FCreate(FHandle: TFmxObject; FBtnPic: String; FLeft, FTop, FWidth, FHeight: Single): TFmxObject;
function FCreateEightBtn(FHandle: TFmxObject; FBtnPic: String; FLeft, FTop, FWidth, FHeight: Single): TFmxObject;
procedure Left(FLeft: Single);
procedure Top(FTop: Single);
procedure Opacity(FOpacity: Single);
procedure Enabled(FEnabled: Boolean);
procedure SetCheckedEightBtn(FChecked: Boolean);
procedure Text(FTitle: String);
procedure FontColor(FontColor: Integer);
procedure FontSize(FSize: Single);
procedure FontName(FontName: String);
procedure FontSetting(FontName: String; FontSize: Single; FontColor: Integer);
procedure FontStyle(Style: TFontStyles);
procedure Visible(FVisible: Boolean);
function IsChecked: Boolean;
function IsEnabled: Boolean;
function GetLeft: Single;
function GetTop: Single;
function GetWidth: Single;
function GetHeight: Single;
function GetObject: LongInt;
procedure OnClick(Event: TNotifyEvent);
procedure ButtonSounds(EnterWav, LeaveWav, ClickWav: String);
function Handle: TFmxObject;
end;
// Picture Visible Part
type
FPictureVisiblePart = interface(IUnknown)
'{503EBEA8-C3F1-4F67-92E5-58ECF0D9BDD2}'
function FCreate(FHandle: TFmxObject; FPic: String; FLeft, FTop, wx, wy, ww, wh: Single): TFmxObject;
procedure Left(FLeft: Single);
procedure Top(FTop: Single);
procedure Height(FHeight: Single);
procedure Width(FWidth: Single);
procedure Opacity(FOpacity: Single);
procedure Enabled(FEnabled: Boolean);
procedure Visible(FVisible: Boolean);
function GetLeft: Single;
function GetTop: Single;
function GetWidth: Single;
function GetHeight: Single;
function GetObject: LongInt;
procedure OnClick(Event: TNotifyEvent);
procedure OnMouseDown(Event: TMouseEvent);
procedure OnMouseEnter(Event: TNotifyEvent);
procedure OnMouseLeave(Event: TNotifyEvent);
procedure OnMouseUp(Event: TMouseEvent);
function Handle: TFmxObject;
end;
// Picture ProgressBar
type
FPictureProgressBar = interface(IUnknown)
'{7AA24D07-73E8-453F-9468-04CF27166365}'
function FCreate(FHandle: TFmxObject; FPBPic, FBackPBPic: String; FLeft, FTop, FWidth, FHeight: Single; PbPicSentToBack: Boolean): TFmxObject;
procedure Left(FLeft: Single);
procedure Top(FTop: Single);
procedure Value(const Current, Max: Integer);
procedure Visible(FVisible: Boolean);
procedure Enabled(FEnabled: Boolean);
function GetLeft: Single;
function GetTop: Single;
function GetWidth: Single;
function GetHeight: Single;
function GetObject: LongInt;
function Handle: TFmxObject;
end;
(graphics are taken from Botva2 and CIU examples. credit goes to their creators.)
.
@Blackfire69 I think there is an error in both scripts with the latest update.. when it tries to unpack the .bin files on the last screen where it installs, it asks do you want to uninstall it, instead of installing it.. not sure if that's just me but i went back to 1 version before the update and it works just fine..
also when i change the .bf extension to .bin it doesnt recognice .bin file while extracting.. this is script1 file im talking about.. also i have the redist disabled completly and it still shows up with 2 boxes checked.
ScOOt3r
BLACKFIRE69
07-07-2022, 23:41
@Blackfire69 I think there is an error in both scripts with the latest update.. when it tries to unpack the .bin files on the last screen where it installs, it asks do you want to uninstall it, instead of installing it.. not sure if that's just me but i went back to 1 version before the update and it works just fine..
also when i change the .bf extension to .bin it doesnt recognice .bin file while extracting.. this is script1 file im talking about.. also i have the redist disabled completly and it still shows up with 2 boxes checked.
ScOOt3r
yes, you're right. i've copied some codes directly from Script2.iss to Script1.iss.
so then Script1.iss reads the config from Script2.iss and not from Script1.iss.
that's the mistake. all you've to do is,
1. open the Script1.iss and press CRTL + H.
2. then REPLACE the word "Script2.iss" with "Script1.iss".
3. save it.
thanks for reporting this. and sorry for the inconvenience. ;)
.
thank you @Blackfire69 it works now.. i was messing with it all night and im glad it was a quick fix...
cheers
ScOOt3r
BLACKFIRE69
12-07-2022, 02:09
FMXInno - Updates
If you want to protect your data especially things like graphics, it's now easy to do so with features built into the FMXInno. What happens here is that the FMXInno accesses those file in memory, which means that no file is created in the hard disk.
Let's see how to do it.
1. First, make changes to your script as per the given example and compile it. (don't run the Setup.exe)
2. After that run the FXPcker.exe and add the files you want to hide. Also browse the Setup.exe compiled in the first step and generate a data file. (let's say Setup.dat)
3. We're almost done. Now just run the Setup.exe. That's all. ;)
* Be sure to create a new data file (Setup.dat) whenever you make changes to the script and recompile it. Because that file (Setup.dat) is unique. Otherwise, accessing the data file (Setup.dat) will be treated as unauthorized access.
The attached example includes more details.
function InitializeSetup(): Boolean;
begin
// FXStream
FXOk := FXUnPckrInit(ExpandConstant('{src}\Setup.dat'), '@#123_Test');
if not FXOk then
begin
MsgBox('Failed to initialize the setup. The installation process cannot continue.', mbError, MB_OK);
Result := False;
end
else
begin
FMXInnoInit;
Result := True;
end;
end;
// ...
procedure FMXDesigning;
begin
{ FMX Form }
FMXForm.FCreateImageFormFromFXStream(WizardForm.Ha ndle, 'PicForm.png', 1.00);
FMXForm.SetCursor(ExtractAndLoad('Dark2.ani'));
{ Music Equ }
MusicEqu.FCreate(FMXForm.Handle, NSX(620), NSY(100), NSX(110), NSY(42), 1.5, 8, '');
MusicEqu.SetPictureFromFXStream('EqualizerLight.pn g');
MusicEqu.OnClick(@MusicEquOnClick);
{ PicBtn[1] }
PicBtn[1].FCreateFromFXStream(FMXForm.Handle, 'Button.png', NSX(600), NSY(455), NSX(125), NSY(45));
PicBtn[1].Text('&Cancel');
PicBtn[1].OnClick(@CommonOnClick);
// ...
{ PicPart }
PicPart.FCreateFromFXStream(FMXForm.Handle, 'mspaint.png', MusicEqu.GetLeft, MusicEqu.GetTop + NSY(100), 100, 100, 50, 50, 100, 100);
// ...
{ PicPB[1] }
PicPB[1].FCreateFromFXStream(FMXForm.Handle, 'pb.png', 'pbbkg.png', PctLabel.GetLeft + NSX(20), PctLabel.GetTop + NSY(50), 380, 25, True);
PicPB[1].Value(69, 100);
// ...
end;
.
BLACKFIRE69
24-07-2022, 21:40
FMXInno v1.0.0.2 - Updates
-- Added Auto DarkMode.
-- Added auto-scroll form background image depending on mouse position.
1. function FCreateScrollableImgForm(WParent: HWND; AddImage: String): HWND;
2. function FCreateScrollableImgFormFromFXStream(WParent: HWND; AddImage: String): HWND;
-- Added blend on moving effect.
-- Prevented the resizing of the fmx form.
-- Removed old color functions (which were buggy) and added new functions instead.
{ VCL COLORS }
function VCLColorToFMXColor(const VColor: TColor): TAlphaColor;
function VCLColorToFMXColor2(const VColor: TColor; const Opacity: Single): TAlphaColor;
{ FMX COLORS }
function FMXColorToVCLColor(const FColor: TAlphaColor): TColor;
function FMXColorSetOpacity(const FColor: TAlphaColor; const Opacity: Single): TAlphaColor;
{ IMAGE COLORS }
function GetImgColorFMX(const Image: UnicodeString): TAlphaColor;
function GetImgPartColorFMX(const Image: UnicodeString; const PixelX, PixelY, PixelW, PixelH: Single): TAlphaColor;
function GetImgColorVCL(const Image: UnicodeString): TColor;
function GetImgPartColorVCL(const Image: UnicodeString; const PixelX, PixelY, PixelW, PixelH: Single): TColor;
{ HTML COLORS }
function HTMLColorStrToVCLColor(const HTMLHexClrStr: string): TColor;
function HTMLColorToVCLColor(const Color: Longint): TColor;
function HTMLColorToVCLColor2(const R, G, B: Byte): TColor;
function HTMLColorStrToFMXColor(const HTMLHexClrStr: string): TAlphaColor;
function HTMLColorToFMXColor(const Color: Longint): TAlphaColor;
function HTMLColorToFMXColor2(const R, G, B: Byte): TAlphaColor;
{ DARKER / LIGHTER }
function ClrDarkerVCL(const VColor: TColor; const Percent: Byte): TColor;
function ClrLighterVCL(const VColor: TColor; const Percent: Byte): TColor;
function ClrDarkerFMX(const FColor: TAlphaColor; const Percent: Byte): TAlphaColor;
function ClrLighterFMX(const FColor: TAlphaColor; const Percent: Byte): TAlphaColor;
{ DESKTOP IMAGE COLOR }
function GetDesktopImgColorVCL: TColor;
function GetDesktopImgColorFMX: TAlphaColor;
BLACKFIRE69
19-08-2022, 08:57
Demo - WPI Corepack
.
That's another good looking installer
Snake288
19-08-2022, 14:55
Hello BLACKFIRE69
Demo - WPI Corepack Can You Extract the Full Version ?
The Health of Your Labor Looks Very Beautiful
Can you Include the DiskSpan_GUI Compression Application in the Full Version
I Hope You Can Prepare It As Soon As Possible
BLACKFIRE69
30-08-2022, 05:14
Demo - WPI Corepack
.
for fast startup.
[Setup]
//...
Compression=zip/1
SolidCompression=False
InternalCompressLevel=none
//...
BLACKFIRE69
07-09-2022, 19:29
FMXInno v1.0.0.2 - Updates
Added a new UI material.
function FCreateFluent(WParent: HWND; DarkTheme, NewMaterial, CleanThanDefault,
NoBorder: Boolean): HWND;
Default material:
https://i.imgur.com/UltXEsb.png
https://i.imgur.com/Rnq9iLH.png
New material:
https://i.imgur.com/7AKNaJP.png
https://i.imgur.com/1IATLD3.png
.
BLACKFIRE69
08-09-2022, 09:41
FMXInno v1.0.0.2 - Updates
Added a new UI material.
.
New UI Material Example:
,
BLACKFIRE69
09-09-2022, 02:54
Greetings to BLACK FIRE 69 ! If you use any form of "Fluent", then when moving it floats behind the pointer, it is late. it is possible that this is only on my PC. I attach the video. https://youtu.be/-UrabBzYYdI
i don't think that FMXInno can solve this internally. but i'll see if there's anything i can do.
maybe this depends on the windows os + graphics performance of the pc. but i don't know exactly.
Greetings to BLACK FIRE 69 ! If the "FToggleCheckBox" is set to "Enable(False)", then everything works fine, it is not pressed and is not active. but if you click on the text that is from him, then it will work. video attached.https://youtu.be/3TvsmJKM4i4
yes, a small oversight. thanks for reporting. ;)
(extra (WPI_CorePack): you can also navigate through pages by clicking page labels.)
BLACKFIRE69
13-09-2022, 01:53
FMXInno - Updates
- Added ability to change the opacity and brightness of Fluent forms.
(MainForm, DirForm, StartForm, CustomForm)
- Fixed focus issue in FluentDirBrowse / FluentStartBrowse.
- Minor bugs have been fixed.
- Some improvements.
function FCreateFluent(WParent: HWND; DarkTheme, NoBorder: Boolean; Opacity: Single;
BrightnessPct: Byte): HWND;
,
BLACKFIRE69
17-09-2022, 19:43
BlackFire69
is there anything you can do with scaling "FSwitch" and "FCheckBox"?
https://ibb.co/ryBnyV1
https://ibb.co/5F5SM4J
maybe try using new values for Top and Width for higher DPI.
var
FCurrentDPI: Cardinal;
begin
FCurrentDPI := GetCurrentDPIValue;
if FCurrentDPI < 120 then
Switch1.Width(NSX(78))
else
Switch1.Width(NSX(58));
DPI PCT
96 - 100%
120 - 125%
144 - 150%
192 - 200%
procedure FMXDesigning;
var
FOffset: Integer;
begin
...
#ifdef Component1
FOffset := 0;
Component[1].FCreate(Page3.Handle, True, 'Install {#C1[59]}');
Component[1].SetBounds(NSX(20), NSY(185), NSX(250), NSY(25));
Component[1].FontSetting('Segoe UI', VCLFontSizeToFMX2(10), VCLColorToFMXColor($FFFFFF));
#ifdef Component2
FOffset := FOffset + 5;
Component[2].FCreate(Page3.Handle, True, 'Install {#C2[59]}');
Component[2].SetBounds(NSX(20), NSY(210 + FOffset), NSX(250), NSY(25));
Component[2].FontSetting('Segoe UI', VCLFontSizeToFMX2(10), VCLColorToFMXColor($FFFFFF));
...
#ifdef Component8
FOffset := 0;
Component[8].FCreate(Page3.Handle, True, 'Install {#C8[59]}');
Component[8].SetBounds(NSX(340), NSY(185), NSX(250), NSY(25));
Component[8].FontSetting('Segoe UI', VCLFontSizeToFMX2(10), VCLColorToFMXColor($FFFFFF));
#ifdef Component9
FOffset := FOffset + 5;
Component[9].FCreate(Page3.Handle, True, 'Install {#C9[59]}');
Component[9].SetBounds(NSX(340), NSY(210 + FOffset), NSX(250), NSY(25));
Component[9].FontSetting('Segoe UI', VCLFontSizeToFMX2(10), VCLColorToFMXColor($FFFFFF));
...
end;
https://fileforums.com/attachment.php?attachmentid=31950&stc=1&d=1656616037
Change File Not working
script fixed please help me
BLACKFIRE69
18-09-2022, 01:24
https://fileforums.com/attachment.php?attachmentid=31950&stc=1&d=1656616037
Change File Not working
script fixed please help me
more details plz?
BLACKFIRE69
18-09-2022, 05:36
FMXInno - Updates
Added:
- function EnableWinDarkMode(IsDark: Boolean): Boolean;
- function IsWinDarkModeEnabled: Boolean;
- function EnableWinTransparency(Enabled: Boolean): Boolean;
- function IsWinTransparencyEnabled: Boolean;
- function EnableWinAccentColor(Enabled: Boolean): Boolean;
- function IsWinAccentColorEnabled: Boolean;
- function RestartWinExplorer: Boolean;
- function GetWinAccentColorVCL: TColor;
- function GetWinAccentColorFMX: TAlphaColor;
Improved:
- Customizable exit form.
,
BLACKFIRE69
20-09-2022, 10:05
New FMXInnoSk
FMXInno + Skia >> FMXInnoSk
FMXInnoSk is a side projects of FMXInno itself, where the other external API are integrated into FMXInno.
Here is the integration of Skia (is a cross-platform 2D graphics API developed by Google) to FMXInno as a starting step.
More about Skia:
skia.org (https://skia.org/docs/)
skia4delphi (https://skia4delphi.org/#/about)
FMXInnoSk requires the sk4d.dll lib.
(sorry for the low resolution GIFs :))
,
if the theme in the system is dark, then the installer will be white and vice versa.
all fonts are taken from the system 'Segoe UI Variable Text' and 'Segoe Fluent Icon'. they are only in W11
Can I upload your script? Thank you
hitman797
24-09-2022, 04:30
@audiofeel
Greetings to Black fire 69. How did you personally want to start the language setting after launching the installer itself? I really wanted to see your example.
To change the language use Custom Messages & Languages Section
[Languages]
Name: "English"; MessagesFile: "Language\English.isl"
Name: "French"; MessagesFile: "Language\French.isl"
Name: "Arabic"; MessagesFile: "Language\Arabic.isl"
[CustomMessages]
// English
English.Font=Segoe UI Bold Italic
English.AppName=Assassin's Creed Unity
English.Autorun=Welcome
English.Welcome=Welcome to Installation
English.System=System Requirements
English.Select=Selecting Installation Path
English.Prepar=Preparing for Installation
English.Install=Installing the Game
English.Finish=Finishing the Installation
English.Faster=Faster
English.Smaller=Smaller
English.Better=Better
English.AM=AM
English.PM=PM
English.Sunday=Sunday
English.Monday=Monday
English.Tuesday=Tuesday
English.Wednesday=Wednesday
English.Thursday=Thursday
English.Friday=Friday
English.Saturday=Saturday
English.January=January
English.February=February
English.March=March
English.April=April
English.May=May
English.June=June
English.July=July
English.August=August
English.September=September
English.October=October
English.November=November
English.December=December
If you want an example of that, here's an example from Gupta Prince
https://www.fileforums.com/showthread.php?t=99073
BLACKFIRE69
24-09-2022, 10:22
hitman 797. I know that the language call form can no longer be called after initializing the installer. And I didn't think in this direction like Prince Gupta. thanks. but the whole script will have to be redone
this's not a complete example, just use to get an idea.
non-english texts are indicated by texts surrounded by "[r]" for convenience.
(because i'm too lazy to translate every text. ;))
[InstallerLangs]
Lang1=Russian
Lang2=English
;Lang3=
;Lang4=
;Lang5=
;Lang6=
Example:
// LanguageBox
English_LangOkBtn=Ok
English_LanguageTitle=Select Setup Language
English_LanguageMsg=Select the language to use during the installation:
Russian_LangOkBtn=[r]Ok[r]
Russian_LanguageTitle=[r]Select Setup Language[r]
Russian_LanguageMsg=[r]Select the language to use during the installation:[r]
...
download from here : FMXInno_Test.rar (https://app.box.com/s/zkqtq8bjkqranrmbwuam33pumvcu3ozp)
,
BLACKFIRE69
26-09-2022, 22:02
Great! the translation works. I share my example. I have a question.... why on "FMXForm.FCreateBlankForm" is the image cropped on the right side?
when you use more than one image as the background image, the dimensions (width,height) of the images should be approximately the same.
but in this case every image is of the same dimension (800x450) so everything works fine.
BLACKFIRE69
27-09-2022, 04:11
here is a more illustrative example
this isn't an issue with FMXInno. it comes from Delphi itself. so i had to comeup with a fix for this.
this will work...
with WizardForm do
begin
Height := ScaleY(450);
Width := ScaleX(800);
end;
BLACKFIRE69
15-10-2022, 16:09
FMXInno v1.0.0.2 - Updates
- Fixed MinimizeFileName function crashing.
- Fixed minor known bugs/issues so far.
- Some improvements.
- Added transparent GIFs support.
Check the first post.
,
BLACKFIRE69
19-10-2022, 13:43
FMXInnoSk v1.0.0.0 - Final Release
What's new:
TSkLabel:
- Single line with multiple styles, colors and sizes.
- Additional font weights.
- Control maximum lines.
- Make words clickable in text.
- Custom fonts without installing.
TSkPaintBox:
- Draw shapes (Rects, RoundRects, Circles, Arcs).
- Draw Texts (Textblob, SimpleText).
- Draw Paths (Normal, Discrete, Composed, Sum, Shaders, Fill,
Rounding sharp corners).
- Draw Paragraphs (Multi-Styled Texts).
- Draw Images.
- Draw 9-Patch (Draw an image preserving corners from strech).
TSkAnimatedPaintBox:
- Make any shader using SKSL.
- Runtime effects.
- Shaders with mouse position.
- Load Particles (With mouse iterations).
TSkAnimatedImage:
- Load animations (Lottie, Telegram stickers and Gifs).
TSkImage:
- Image Encoding (BMP, GIF, ICO, JPEG, PNG, WBMP, WEBP, PKM,
KTX, ASTC, DNG, HEIF, AVIF).
- Make NonTextureImage, RasterImage, MakeShader and RawShader.
TSkSVG:
- Load .svg files.
Downloads:
Shaders : Shadertoy (https://www.shadertoy.com/results?query=&sort=hot&from=0&num=12)
AnimatedImages : Lottiefiles (https://lottiefiles.com/featured)
Stickers : Lottiefiles (https://lottiefiles.com/animated-stickers)
Preview:
Preview Shader files (.sksl) : Shaders.skia (https://shaders.skia.org/)
Preview Particle files (.json) : Particles.skia (https://particles.skia.org/)
Preview AnimatedImages (.json) : Skottie.skia (https://skottie.skia.org/)
Other:
Create a own shader file (.sksl) : Youtube (https://youtu.be/ZRVpfN70BF8)
Google Skia : skia.org (https://skia.org/)
Skia4Delphi : skia4delphi.org (https://skia4delphi.org/)
https://i.ibb.co/JcLwz9n/1.pnghttps://i.ibb.co/fMRs52p/2.pnghttps://i.ibb.co/FBTJF4T/3.pnghttps://i.ibb.co/Cw65ryQ/5.pnghttps://i.ibb.co/KwXQD4N/6.pnghttps://i.ibb.co/mJrV69S/7.pnghttps://i.ibb.co/HXM3GKY/8.pnghttps://i.ibb.co/k53yc7y/9.pnghttps://i.ibb.co/Qdgg1pf/11.pnghttps://i.ibb.co/LvvzVK8/12.png
BLACKFIRE69
22-10-2022, 22:14
I wanted to upgrade to version 6.2.1. but as it turned out... why the new "inno" adds on Y=4 and on X=8. why I do not know. it all starts with version 6.0.5. I think that fmx.dll it has nothing to do with it. it's about "inno". I think I've tried everything and I know the difference between "clientWidth and "Width" and "WizardStyle=modern". nothing helped. well, in principle, you can somehow calculate it to be more accurate and stretch the image.
the part that adjusts the dimensions of the image can be done.
i was preparing the last release of version v1.0.0.2. so i'll include the fix with it.
i hope this works. if anything needs to change, be sure to tell me. and thanks for reporting this.
FMXInno v1.0.0.2 - Last Release
- More Stable.
- More Optimized.
- Fixed Memory Leaks.
- Added File Patching.
-- procedure wCreateFilePatch(Const fOldFile, fNewFile, fDiffFile: WideString;
fMatchLength: Cardinal; fPatchCallback: TFDiffCallback);
-- procedure wApplyFilePatch(Const fOldFile, fNewFile, fDiffFile: WideString);
BLACKFIRE69
23-10-2022, 06:44
Greetings!
for today, the most buggy will be 1-"FLabel" and 2-"FToggleCheckBox". let's start with "FLabel".
1. very sensitive to the order, that is, if you put "AutoSize" at the beginning, then something else will not be the correct result
set "WordWrap = false" in "TextSettings".
LB1.FCreate(FMXForm.Handle, 'MyShortText');
LB1.AutoSize(True);
LB1.top(NSY(100));
LB1.left(NSX(100));
LB1.TextSetting(False, txLeading, txCenter);
LB1.Text('FMXInno: This is a very long text for Testing FLabel AutoSize.');
"OnClick", "OnMouseDown", "does not work eitheronMouseEnter", "onMouseLeave", "onMouseUp". but there is one fat plus. for "FLabel" it is not necessary to copy OnMouseDown(@MainMouseDown) every time. this already works and the form is dragged with the mouse behind the "FLabel", although this is not spelled out.
set "HitTest = True" (captures all mouse events)
LB1.FCreate(FMXForm.Handle, 'MyShortText');
LB1.AutoSize(True);
LB1.top(NSY(100));
LB1.left(NSX(100));
LB1.TextSetting(False, txLeading, txCenter);
LB1.HitTest(True);
LB1.OnClick(@LBOnClick);
LB1.OnMouseEnter(@LBMouseEnter);
LB1.OnMouseLeave(@LBMouseLeave);
//LB1.OnMouseDown(@FormMouseDown); (*Set HitTest = False*)
LB1.Text('FMXInno: This is a very long text for Testing FLabel AutoSize.');
"For most controls, HitTest is True by default. However, this is not true for all the controls. For example, for TLabel and TPathLabel, HitTest is False by default;
these two controls do not capture the mouse-related events unless you set HitTest to True." - Embarcadero (https://docwiki.embarcadero.com/Libraries/Alexandria/en/FMX.Controls.TControl.HitTest)
2. I did this Shortcut[1].FCreate(Page2.Handle, NSX(40), NSY(250), NSX(32), NSY(14), {#Color}, CustomMessage(WizardLang + 'Page2Shortcut1') + '{#C1[59]}'); and got a full w.pu errors. I remove "+ ' {#C1[59]}'" and everything is fine. this only applies to two translation languages, one is fine.
i really want to see your example of this.
well, not big quibbles. "LockScreen" is triggered on "MsgForm.HandleHWND", although it is written in the script "LockScreen.AutoActivate([FMXForm.HandleHWND, MsgForm.HandleHWND, LangForm.HandleHWND, DirBrowseDlg.HandleHWND, DirBrowseDlg.HandleHWND2, WizardForm.Handle]);"
yes. "MsgForm.HandleHWND" returns the wrong handle, i don't know why.
but there's another way.
procedure ConfirmExitMsg(Sender: TObject);
begin
LockScreen.AutoActivateEnabled(False);
MsgForm.Show;
end;
// ...
procedure ExitNoBtnOnClick(Sender: TObject);
begin
MsgForm.Close;
LockScreen.AutoActivateEnabled(True);
end;
BLACKFIRE69
24-10-2022, 01:57
here's an example. initially, I liked Toggle because it looks more like WP, but I couldn't or didn't want to figure out what the reason for the language selection launch failure was. and that's why I made a mandatory
checkboxes. in the script, I commented everything out and did about as I originally wanted
sorry for the late reply. (i had to participate a webinar)
found out what was going on.FText must be of type WideString.
FText: String; ==> FText: WideString;
Toggle CheckBox updated. now the user has more options.
- Rounded corners (optional) (FRounded: Boolean).
- Custom colors.
- Custom positions for text.
etc.
replace the old lib and handle.iss files with these.
,
BLACKFIRE69
26-10-2022, 13:11
well, not big quibbles. "LockScreen" is triggered on "MsgForm.HandleHWND", although it is written in the script "LockScreen.AutoActivate([FMXForm.HandleHWND, MsgForm.HandleHWND, LangForm.HandleHWND, DirBrowseDlg.HandleHWND, DirBrowseDlg.HandleHWND2, WizardForm.Handle]);"
- Fixed CustomFluentWindow handle.
- Fixed EmptyWizardForm.
latest version has been added to the first post (https://www.fileforums.com/showpost.php?p=495282&postcount=1)...
BLACKFIRE69
06-11-2022, 12:39
WPI_CorePack - Script Updated!
- Browse for disks.
- Before/After install: Run executables or bats, Writing ini and Patching files.
- XBass_f.dll/ XHashNext.dll/ MFT.exe: Updated, Reduced the file size.
(AV no longer pops false positive malware detection on these files.)
- Added wFilePatchLib.dll.
,
i compressed the game by blackfire69 compressor what was 96compressor.
and this is the error.
what i should do???
BLACKFIRE69
10-11-2022, 06:11
FMXInno v1.0.0.2 - Updates
* Added Dynamic Tiles.
- Highly customizable.
- Tile shapes can be regular/rounded corner rectangles or even circles.
- Allowed users to make their own style tiles.
- DeltaX, DeltaY and TimeDuration configure the motion of tiles.
* Updated Classes.
BLACKFIRE69
11-11-2022, 03:41
black fire 69 I have a few suggestions for you. add "XHashNext" to the "FMXInno" library (no need to "drag" the dll with you anymore). also add "xbass_f". although "FMXInno" can play music without outside help, but only "Wav" (this is very good, the size decreases, and so on and so forth. but there is one drawback... I never found a way to pause (I searched everywhere and on "stackoverflow") and the "Wav" itself is very large. and the last sentence. add "boolean" "FDark" to other controls, not only buttons and windows, but also text and so on. thank you!
* Merged XBass_f and XHashNext into FMXInno lib as suggested.
( next time write the sentences separately. otherwise it's hard to read ;) )
,
BLACKFIRE69
12-11-2022, 22:03
FMXInnoSkia v1.0.0.0 - Updates
* Updated sk4d.dll from v3.4.1(skia v98.1.0) --> v4.0.1(skia v107.0.0)
Downloads: FMXInnoSk v1.0.0.0 - Final Release [2022-Nov-11].rar (https://app.box.com/s/lfr42mmwzy8fbsp12963do1g93lvppii)
(not compatible with older versions. so don't mess-up)
,
Masquerade
13-11-2022, 06:22
here is another example of what can be done with FMXInno. the work is taken as a basis
https://krinkels.org/resources/yuwiz.416/
I like this design, would it be possible to do an English translation of the script? The Russian characters do not show correctly for me.
i compressed the game by 69compressor and i got this error from WPI.CorePack.Installer about test
i found that this installer is using ISArcEx that is not supporting 69compressor but just freaarc 0.666v
what i can do for it???
is there a way for WPI.CorePack.Installer to use isdone instead of ISarcEx??
BLACKFIRE69
14-11-2022, 04:44
here is another example of what can be done with FMXInno. the work is taken as a basis
https://krinkels.org/resources/yuwiz.416/
good job mate. keep going... ;)
for peeps who love Win11 blur effects,
// function IsOSMatched(const fOsMinimum: DWORD): Boolean;
if IsOSMatched(B_WIN11_21H2) and FBlur then // Windows 11 or newer
// enable Fluent blur
else
// regular
--------------------------------------------------------------------------
FMXInno:
* Latest update added to first post. [2022-Nov-14]
If I didn't notice it, I misunderstood. keep the script
https://ibb.co/VDB2v30
Hi Friend Good Job about this script, but which inno setup did you use??
I tested with the inno-setup 5.5.1 ee2 enhanced and it had a problem like this
in Windows 10, there are no fonts that are involved in the script (only Win 11). I was trying to do something... try it!
Boy, I'm so slow minded
I should have thought that it was from the font, if we were neighbors, I would have invited you for a drink. Thank you very much, dear friend:D:D:D
BLACKFIRE69
17-11-2022, 11:40
FMXInno v1.0.0.2 - Updates
* Added SplashScreen. (Splash.png + Splash.wav)
- FSplashScreen
* FMX Objects can directly access MouseDown events of main forms. (FMXForm and CustomFluentWindow)
- FMXForm.AddMousedownControls(Text1.Handle);
FMXForm.AddMousedownControls(Text2.Handle);
...
- MsgForm.AddMousedownControls(MsgRect1.Handle);
...
* Added TPopupBox class.
BLACKFIRE69
18-11-2022, 04:54
:cool:
a good working check for the Windows version
whether the os is Win11 or not is only relevant if the transparent effect is used for the installer.
therefore, i think it's best to do it in the following way.
if IsOSMatched(B_WIN11_21H2) then // Windows 11 21H2 or newer
FMXForm.FCreateFluent(WizardForm.Handle, FDark, False, 0.56, 0)
else
FMXForm.FCreateBlankForm(WizardForm.Handle, ALCrimson, ExtractAndLoad('Installer.png'));
BLACKFIRE69
21-11-2022, 20:22
A small bug when using "FMXForm.FCreateNormal" and an overlay of "FImage" on it. When minimizing the window.
sorry, i forgot to mention that MinimizeWindowCustomAnimated function doesn't work for FCreateNormal.
BLACKFIRE69
27-11-2022, 04:41
AddMousedownControls = a small bug. when using "lockscreen" (if you click on "lockscreen"), the window is unexpectedly moved to a random location
* Fixed AddMousedownControls for lockscreen.
latest version added to the first post.
__________________________________________________ ________
What's new
* Added Windows Notifications.
* Updated Skia (sk4d v4.0.1 --> v4.0.2)
* Some improvements.
amin fear
03-12-2022, 01:42
I am getting this error when compiling with Inno v6 , what is the solution ?:confused:
Is there any tutorial for this nice script ?
I am getting this error when compiling with Inno v6 , what is the solution ?:confused:
Is there any tutorial for this nice script ?
use inno setup 5.5.1 ee2 to compile
BLACKFIRE69
03-12-2022, 05:36
I am getting this error when compiling with Inno v6 , what is the solution ?:confused:
Is there any tutorial for this nice script ?
can you tell me the file path of Script1.iss?
(example: C:\Downloads\FMXInno\Script.iss)
can you tell me the file path of Script1.iss?
(example: C:\Downloads\FMXInno\Script.iss)
I wanted to try the examples aswell and had the same error.
Happened on IS 6.0.5 and 6.2.1.
The folders i tried the script in were:
D:\Repack Tools\FMXInno1.0.0.2+FMXInnoSkia1.0.0.0\Script1.is s
C:\Users\MojoW\Downloads\Compressed\FMXInno v1.0.0.2 + FMXInnoSkia v1.0.0.0 - Final Release [2022-Nov-27]\Script1.iss
This error occurs if there is no file "MFT.EXE ". Check if the "Plugin\MFT" folder is located next to the script and there should be a file in this folder "MFT.exe ". Perhaps your antivirus tried (deleted it, etc.)
I just repeated this error myself by deleting this file
Double checked if that plugin was there and it was.
So it wasn't deleted.
BLACKFIRE69
03-12-2022, 19:40
Double checked if that plugin was there and it was.
So it wasn't deleted.
try this and run the Example-Calc.bat as well.
try this and run the Example-Calc.bat as well.
Still didn't work and did the example.
amin fear
03-12-2022, 22:39
can you tell me the file path of Script1.iss?
(example: C:\Downloads\FMXInno\Script.iss)
I have tried using the "short" path & the problem solved !
C:\FMXInno v1.0.0.2\Script1.iss
This error is related to "LONG" path names.:)
I have tried using the "short" path & the problem solved !
C:\FMXInno v1.0.0.2\Script1.iss
This error is related to "LONG" path names.:)
I tried but still have the same error.
C:\Users\MojoW\Desktop\FMXInno
D:\RepackTools\FMXInno
Edit:
So when i comment out the ExtraDiskSpaceRequired i can get all the examples to run except script1.
Script1 then errors out on this line
DoTmpExtract([{#DoFilesListingEx('.\..\..\Files', '*.png|*.jpg|*.cur|*.txt|*.mp3', StringChange(ExcludeFileList, ",", "|"))}]);
I'm just looking to learn from your examples and scripts (And all others on the forum offcourse) but i'm still curious as to why this is happening.
BLACKFIRE69
05-12-2022, 03:55
What's new:
* Updated MFT.exe and Added some features.
(Thanks Cesar82 for the ideas, suggestions and test runs)
* Integrated BlendOnMoving function into library.
* Updated XHashNext. (internal)
* Added DirectX version.
- function GetDirectXVersion(const SupportedByOS: Boolean): WideString;
* Added delayload flag.
* Bug fixing and Improvements.
checkout the first post.
BLACKFIRE69
09-12-2022, 14:34
Lizzard Installer - Another example from FMXInno.
,
BLACKFIRE69
14-12-2022, 08:19
FMXInno (Alpha) - Updates
* A style file was injected into the DLL.
- Now it'll be the default skin for FMXInno until you load another style file.
* Stripped unused resources. ( 2.53 MB --> 2.21 MB )
* Added Trackbar. (Regular and Botva-like)
__________________________________________________ ___________
Extra:
* More styles will be added to FMXinno if someone can change the colors of the attached PNGs to the colors provided.
(i can't do it nice and smoothly, not good at stuff like editing :rolleyes:)
* PNGs and colors are attached below.
FMXInno (Alpha) - Updates
* A style file was injected into the DLL.
- Now it'll be the default skin for FMXInno until you load another style file.
* Stripped unused resources. ( 2.53 MB --> 2.21 MB )
* Added Trackbar. (Regular and Botva-like)
__________________________________________________ ___________
I am testing this in win 10(I only have this).
In the example script ie. Example_DefaultSkin.iss, while compiling(Inno EE 5.5.1) it throws the following exception msg.
[22:29:28.728] InitializeWizard raised an exception (fatal).
[22:29:28.730] Exception message:
[22:29:28.732] Message box (OK):
Runtime Error (at 301:2942):
Exception "EFOpenError" at address 00497587.
BLACKFIRE69
14-12-2022, 14:15
I am testing this in win 10(I only have this).
In the example script ie. Example_DefaultSkin.iss, while compiling(Inno EE 5.5.1) it throws the following exception msg.
[22:29:28.728] InitializeWizard raised an exception (fatal).
[22:29:28.730] Exception message:
[22:29:28.732] Message box (OK):
Runtime Error (at 301:2942):
Exception "EFOpenError" at address 00497587.
found out what the problem was...
Error:
Memo1.LoadFromfile('C:\Program Files (x86)\Inno Setup 5\license.txt');
Fix:
[Files]
...
Source: ".\license.txt"; DestDir: "{tmp}"; Flags: dontcopy;
{Code]
...
Memo1.LoadFromfile(ExtractAndLoad('license.txt'));
Hint:
* Use BlankForm instead of FluentForm for Windows 10.
Example:
#define Windows10
....
#ifdef Windows10
FMXForm.FCreateBlankForm(WizardForm.Handle, ALCoral, '');
#else
FMXForm.FCreateFluent(WizardForm.Handle, True, False, 0.56, 0);
#endif
...
,
BLACKFIRE69
15-12-2022, 03:58
FMXInno + FMXInnoSkia - Updates
The FMXInno v1.0.0.2 (SRC Version: 14.0 - 14.9) is almost done.
This was the to-do list in version 1.0.0.2.
* Ability to directly access MouseDown events of main forms.
* Auto DarkMode.
* Auto-scroll form background image.
* Blend on Moving.
* Botva2-like buttons, checkboxes, Trackbars and progress bars.
* Button Sounds.
* Color conversion between FMX and VCL or HTML.
* Customizable lock screen.
* Custom Fluent Window.
* Custom Opacity and brightness for Fluent forms.
* Default Skin.
* Dynamic Tiles.
* File Patching.
* Fluent Design DirBrowse Window.
* Fluent Design StartMenuBrowse Window.
* Form image SlideShow.
* FXPcker / FXStream.
* HTTP Client Api.
* Integration with Skia.
* Image SlideShow.
* NewScaler v2.0.
* SplashScreen.
* Translucent Objects.
* Transparent GIFs.
* Toggle CheckBox v2.0.
* Windows Notifications.
Before moving to the next version, if you need to add anything or any modification in the current version leave it below.
The next version (v1.0.0.3) will be released once it's done, but i can tell it won't be anytime soon. :confused:
Latest version added to first post.
hitman797
15-12-2022, 11:44
What color do you want to change in the png?
blue or black.
BLACKFIRE69
15-12-2022, 15:35
What color do you want to change in the png?
blue or black.
both colors should be changed. the main color to change is blue (cyan). but two sets are needed. dark style with black and white for light style.
hitman797
15-12-2022, 19:31
Test this if it works.
hitman797
15-12-2022, 20:31
Gradients Blue
Behnam2018
15-12-2022, 21:31
Hi audiofeel , nothing happens when I run this script
My operating system is Windows 7 64-bit
Behnam2018
15-12-2022, 22:27
thank you audiofeel
BLACKFIRE69
16-12-2022, 04:58
thank you audiofeel
this might work.
in the latest release (22-Dec-15), i removed resources for Windows 7 and Windows 8. :D
FMXInno (Alpha) - Updates
* Stripped unused resources. ( 2.53 MB --> 2.21 MB )
,
BLACKFIRE69
16-12-2022, 09:11
FMXInno - Updates
* FMXInno is now fully compatible with Windows 10 (except transparency).
* DrawFrame is available for every form.
(Tested on Windows 10 22H2 x64)
,
Masquerade
17-12-2022, 14:34
@BLACKFIRE69
There's a slight issue with the function VerifyHashesFromFile.
In my repacks, I read hash files from a _Verify folder, so each line of the file path begins with ..\ to indicate that the files are one directory up from the folder containing the checksum.
However, when reading the checksum file and pointing it to {app} or {app}\Verify, the FMXPlugin is trying to read ..\ as the directory name and is leading to all files returning as incorrect.
Example:
https://i.ibb.co/gMXjhWV/Screenshot-1.png
Please may you fix this?
Thanks,
Masquerade
BLACKFIRE69
17-12-2022, 21:45
@BLACKFIRE69
There's a slight issue with the function VerifyHashesFromFile.
In my repacks, I read hash files from a _Verify folder, so each line of the file path begins with ..\ to indicate that the files are one directory up from the folder containing the checksum.
However, when reading the checksum file and pointing it to {app} or {app}\Verify, the FMXPlugin is trying to read ..\ as the directory name and is leading to all files returning as incorrect.
Example:
https://i.ibb.co/gMXjhWV/Screenshot-1.png
Please may you fix this?
Thanks,
Masquerade
try this out.
Improvement
BasePath:
C:\Testing1\Testing2\_Verify = ( {app}\_Verify )
HashFile.md5:
...
07c7314cfefa2fc0292a4780da6c6ede *..\chunk.pb0
OR
07c7314cfefa2fc0292a4780da6c6ede ..\chunk.pb0
...
XHash (Internal) Reading:
>> C:\Testing1\Testing2\chunk.pb0 = ( {app}\chunk.pb0 )
Masquerade
18-12-2022, 01:35
^^
This is correct, however the hashes are always returning bad. I think FMXInno is thinking the hashes are MD5 whereas they are blake3.
Is Blake3 implemented?
Thanks,
Masquerade
BLACKFIRE69
18-12-2022, 02:26
^^
This is correct, however the hashes are always returning bad. I think FMXInno is thinking the hashes are MD5 whereas they are blake3.
Is Blake3 implemented?
it's there.
function VerifyHashesFromFile(ChecksumFile, BasePath: WideString; HashAlgo: Integer; LogFile: Boolean; Callback: TMultiHashCallback): Integer;
Blake3_256 ==>
HashAlgo := 11 OR
HashAlgo := H_BLAKE3_256
BLACKFIRE69
20-12-2022, 11:05
Hi everybody. Happy New Year to everyone! and Merry Christmas... the creator of this topic, the creators of this forum and just users. A small pre-holiday script.
https://i.ibb.co/QCJRT9t/1.gif (https://ibb.co/7RS5ZvL)
https://i.ibb.co/Zf7c4Jy/2.gif (https://ibb.co/K5SV4GC)
Windows 10 users won't be happy if you don't include the following alternatives. :p
// For Windows 10 (if not IsOSMatched(B_WIN11_21H2) then // OS < Windows 11)
1. MsgForm.FCreateBlankForm(FMXForm.HandleHWND, VCLColorToFMXColor($002900), '');
2. DirBrowseDlg.FCreateBlankForm(VCLColorToFMXColor($ 002900), 'Select Install Directory', WizardForm.DirEdit.Text, '');
3. StartBrowseDlg.FCreateBlankForm(VCLColorToFMXColor ($002900), 'Browse for Folders', WizardForm.GroupEdit.Text, '');
4. ExitForm.FCreateBlankForm(FMXForm.HandleHWND, VCLColorToFMXColor($002900), '');
FMXInno Lib:
- Fixed Custom form HandleHWND. (for lockscreen: AutoActivate)
BLACKFIRE69
21-12-2022, 09:01
If third-party fonts are used in the installer, then after exiting they remain in the "Temp" folder. Manually deleting them is difficult since they are open in "System". All this happens in Windows 10. There may be something wrong with my system... check who has the desire and opportunity
Make sure the FMXInnoShutDown is executed after the RemoveFontResource2. must work.
,
BLACKFIRE69
22-12-2022, 09:01
What's New:
- Applied the changes made so far.
- Updated examples for both Windows 10 and Windows 11.
- Updated CmdOut (internal). (Thanks Ele)
Latest version added to first post.
BLACKFIRE69
23-12-2022, 09:26
FMXInno - Alpha
* Added Video Player.
-- Video format: [.avi, .wmv]
Behnam2018
24-12-2022, 19:14
APEX Installer
Can it be made by script FMXInno?
BLACKFIRE69
24-12-2022, 23:22
APEX Installer
Can it be made by script FMXInno?
yes, it can be done with FMXInno.
BLACKFIRE69
26-12-2022, 08:44
No pain No gain :o
ok ladies, let me touch on some key points for Apex Installer.
(i'm little bit busy so i don't have enough time to make a complete script.)
.
hitman797
30-12-2022, 11:01
under OLD Installer
FLAT by Razor12911
CPI by Razor12911
hitman797
30-12-2022, 14:37
Thanks. But I'm used to doing it through "Fluent Icons" = https://learn.microsoft.com/en-us/windows/apps/design/style/segoe-fluent-icons-font . The necessary codes are always at hand (although sometimes there are no necessary ones). And my task was not to repeat everything as it is, but to bring something of my own.
you can create your icon using Illustrator or Photoshop.
and make your font icon using fontself.
https://www.fontself.com/
hitman797
30-12-2022, 15:14
To be honest, I am in favor of using as few pictures as possible in the installer. In my opinion, this installer is not entirely successful (although I copied it) I will try to explain why it is unsuccessful... to change the game to another one, the user needs to find 8 pictures on the Internet, 8 pictures of Karl!!!. and even different sizes and styles.
I'm just doing this to learn design and programming.
If you convert the installer images to a font, you won't need it dll.
you can use just Label.
hitman797
31-12-2022, 05:51
the CPI font is used (there are problems with the sound image in the font, one character is lower than the other, I fixed it as best I could)
Fix sound image in the font.
TObject(Btn[3].GetObject):
begin
if MusicObj.IsPaused then
begin
MusicObj.Resume;
Btn[3].Top(NSSY(6.0));
Btn[3].Text('I');
end else
begin
MusicObj.Pause;
Btn[3].Top(NSSY(6.0));
Btn[3].Text('H');
end;
end;
hitman797
06-01-2023, 14:27
Again, I'm distracting everyone from the holidays... The example is great, everything works. It is unclear how to fasten to "Progress angle"here is the value from "CPUUsage" "RamUsage" "DiskUsage" "IsarcEx " ?
use Timer.
VAR
DiskUsageArc: FColorArc;
DiskUsage: FDiskUsage;
RamUsage, CPUUsage: FModernArc2;
CPU: FCpuUsage;
RAM: FRamUsage;
Timer1: FTimer;
Page Num
DiskUsageArc:= InitColorArcHandle;
DiskUsage:= InitDiskUsage;
RamUsage := InitModernArc2Handle;
CPUUsage := InitModernArc2Handle;
CPU := InitCpuUsage;
RAM := InitRamUsage;
Timer1 := InitTimerHandle;
procedure Timer1OnTimer(Sender: TObject);
begin
CPUUsage.Angle(CPU.CpuLoad, 100);
RamUsage.Angle(RAM.RamLoad, 100);
end;
procedure DirEditOnChange(Sender: TObject);
begin
DiskUsage.SetDir(WizardForm.DirEdit.Text);
DiskUsageArc.SetAngle(DiskUsage.DiskLoad, 100);
end;
Timer1.FCreate(Page4.Handle, True);
Timer1.Interval(750);
Timer1.OnTimer(@Timer1OnTimer);
procedure Timer1OnTimer(Sender: TObject);
begin
PctLB.Text(IntToStr(CPU.CpuLoad));
RoundArc.Arc.EndAngle(CPU.CpuLoad + C_ANGLE);
PctLB.Text(IntToStr(RAM.RamLoad));
RoundArc.Arc.EndAngle(RAM.RamLoad + C_ANGLE);
RoundArc.Arc.EndAngle(Disk.DiskLoad);
end;
BLACKFIRE69
06-01-2023, 22:46
@hitman797
EndAngle value is not correct. ;)
hitman797
07-01-2023, 02:50
@hitman797
EndAngle value is not correct. ;)
RAM.RamLoad = 49
C_ANGLE = 40
RoundArc = 320
StartAngle = 130
EndAngle = 14320
BLACKFIRE69
07-01-2023, 03:48
RAM.RamLoad = 49
C_ANGLE = 40
RoundArc = 320
StartAngle = 130
EndAngle = 14320
is this look like 49%?
,
hitman797
07-01-2023, 04:16
is this look like 49%?
,
ok pro, I fix the problem.
procedure Timer1OnTimer(Sender: TObject);
var
RAMPCT, CPUPCT, DiskPCT: Single;
begin
CPUPCT:=(CPU.CpuLoad * (360 - 2 * C_ANGLE)) / 100;
RoundArc.Arc.EndAngle(CPUPCT);
PctLB.Text(IntToStr(Round(CPU.CpuLoad)));
RAMPCT:=(RAM.RamLoad * (360 - 2 * C_ANGLE)) / 100;
RoundArc2.Arc.EndAngle(RAMPCT);
PctLB2.Text(IntToStr(Round(RAM.RamLoad)));
DiskPCT:=(Disk.DiskLoad * (360 - 2 * C_ANGLE)) / 100;
RoundArc3.Arc.EndAngle(DiskPCT);
PctLB3.Text(IntToStr(Round(Disk.DiskLoad)));
end;
BLACKFIRE69
07-01-2023, 04:58
ok pro, I fix the problem.
procedure Timer1OnTimer(Sender: TObject);
var
RAMPCT, CPUPCT, DiskPCT: Single;
begin
CPUPCT:=(CPU.CpuLoad * (360 - 2 * C_ANGLE)) / 100;
RoundArc.Arc.EndAngle(CPUPCT);
PctLB.Text(IntToStr(Round(CPU.CpuLoad)));
RAMPCT:=(RAM.RamLoad * (360 - 2 * C_ANGLE)) / 100;
RoundArc2.Arc.EndAngle(RAMPCT);
PctLB2.Text(IntToStr(Round(RAM.RamLoad)));
DiskPCT:=(Disk.DiskLoad * (360 - 2 * C_ANGLE)) / 100;
RoundArc3.Arc.EndAngle(DiskPCT);
PctLB3.Text(IntToStr(Round(Disk.DiskLoad)));
end;
something still doesn't seem right....
for 0% :
.
BLACKFIRE69
07-01-2023, 05:56
@hitman797, this works fine.
procedure Timer1OnTimer(Sender: TObject);
var
delta1, delta2, delta3: Single;
CPUPct, RAMPct, DiskPct: Cardinal;
begin
CPUPct := CPU.CpuLoad;
RAMPct := RAM.RamLoad;
DiskPct := Disk.DiskLoad;
delta1:=(CPUPct * (360 - 2 * C_ANGLE)) / 100;
RoundArc.Arc.EndAngle(delta1);
PctLB.Text(IntToStr(CPUPct));
delta2:=(RAMPct * (360 - 2 * C_ANGLE)) / 100;
RoundArc2.Arc.EndAngle(delta2);
PctLB2.Text(IntToStr(RAMPct));
delta3:=(DiskPct * (360 - 2 * C_ANGLE)) / 100;
RoundArc3.Arc.EndAngle(delta3);
PctLB3.Text(IntToStr(DiskPct));
end;
hitman797
07-01-2023, 06:07
something still doesn't seem right....
for 0% :
.
procedure Timer1OnTimer(Sender: TObject);
var
PCT, RAMPCT, CPUPCT, DiskPCT: Single;
begin
PCT:=(CPU.CpuLoad * 2.5);
CPUPCT:=(PCT * (360 - 2 * C_ANGLE)) / 100;
RoundArc.Arc.EndAngle(CPUPCT);
PctLB.Text(IntToStr(Round(PCT)));
RAMPCT:=(RAM.RamLoad * (360 - 2 * C_ANGLE)) / 100;
RoundArc2.Arc.EndAngle(RAMPCT);
PctLB2.Text(IntToStr(Round(RAM.RamLoad)));
DiskPCT:=(Disk.DiskLoad * (360 - 2 * C_ANGLE)) / 100;
RoundArc3.Arc.EndAngle(DiskPCT);
PctLB3.Text(IntToStr(Round(Disk.DiskLoad)));
end;
hitman797
10-01-2023, 14:59
Well, okay, I figured it out. now the "problem" is with the shadow. The shadow is superimposed on each other - this is not good, otherwise I do not know how to do it.
Thank you audiofeel
Is it possible to change the color of the PNG with a library FMXInno?
BLACKFIRE69
11-01-2023, 15:07
What's new:
1. Added full control of Taskbar.
.
BLACKFIRE69
12-01-2023, 13:32
What's new:
1. Added more FireMonkey Image Effects.
Link: More Details (https://docwiki.embarcadero.com/RADStudio/Sydney/en/FireMonkey_Image_Effects)
Reflection Effect
Ripple Effect
Swirl Effect
Magnify Effect
Smooth Magnify Effect
Bands Effect
Wave Effect
Wrap Effect
Banded Swirl Effect
Bevel Effect
Tiler Effect
Pixelate Effect
Emboss Effect
Sharpen Effect
Toon Effect
Sepia Effect
Paper Sketch Effect
Pencil Stroke Effect
Fill Effect
Normal Blend Effect
Hue Adjust Effect
Contrast Effect
Bloom Effect
Gloom Effect
Invert Effect
Monochrome Effect
ColorKey Alpha Effect
Mask To Alpha Effect
Crop Effect
Box Blur Effect
Directional Blur Effect
Radial Blur Effect
-- Transition effects --
Banded Swirl Transition Effect
Blind Transition Effect
Blood Transition Effect
Blur Transition Effect
Bright Transition Effect
Circle Transition Effect
Crumple Transition Effect
Dissolve Transition Effect
Drop Transition Effect
Fade Transition Effect
Line Transition Effect
Magnify Transition Effect
Pixelate Transition Effect
Ripple Transition Effect
Rotate Crumple Transition Effect
Saturate Transition Effect
Shape Transition Effect
Slide Transition Effect
Swipe Transition Effect
Swirl Transition Effect
Water Transition Effect
Wave Transition Effect
Wiggle Transition Effect
Perspective Transform Effect
Affine Transform Effect
BLACKFIRE69
13-01-2023, 09:50
What's new:
1. Added more animations.
- ColorKey Animation
- FloatKey Animation
2. Updated Other Animation Classes.
3. Added the following properties to objects.
procedure SetClipParent(FValue: Boolean);
procedure SetClipChildren(FValue: Boolean);
function GetClipParent: Boolean;
function GetClipChildren: Boolean;
procedure UpdateEffects;
procedure BeginUpdate;
procedure EndUpdate;
procedure RecalcSize;
procedure RecalcEnabled;
procedure RecalcOpacity;
procedure RecalcUpdateRect;
procedure RecalcAbsolute;
procedure Repaint;
procedure SetFocus;
procedure ResetFocus;
function IsFocused: Boolean;
procedure Pressed(FValue: Boolean);
function IsPressed: Boolean;
function IsMouseOver: Boolean;
function IsVisible: Boolean;
procedure AddObject(const AObject: TFmxObject);
procedure InsertObject(index: Integer; const AObject: TFmxObject);
procedure RemoveObject(const AObject: TFmxObject);
procedure RemoveObject2(index: Integer);
function ContainsObject(const AObject: TFmxObject): Boolean;
procedure ExchangeObjects(const AObject1, AObject2: TFmxObject);
procedure DeleteChildren;
function IsChild(AObject: TFmxObject): Boolean;
function ChildrenCount: Integer;
function GetParent: Longint;
procedure BringToFront;
procedure SendToBack;
procedure BringChildToFront(Child: TFmxObject);
procedure SendChildToBack(Child: TFmxObject);
function Equals(AObject: TObject): Boolean;
procedure SetTag(Tag: Integer);
function GetTag: Integer;
BLACKFIRE69
14-01-2023, 02:34
What's new:
1. Added full control of Taskbar.
1. Added an extra option (Taskbar Flash).
- procedure pTaskBarFlash(FValue: Boolean);
BLACKFIRE69
15-01-2023, 02:22
file "data1.bf" no. but it is deduced that he is just "bad". in my opinion it should be like "missing"?
yes, it should show as "missing". sorry for my little mistake. :D
.
Masquerade
15-01-2023, 08:09
Hi,
Audiofeel helped to write the script and UI design for my new installer but some users are having an issue where the setup will simply hang in the taskbar. I am not sure what could be causing this or if it could be looked into. Please let me know.
One such user is using Windows 11 with an i6 9600K and an RX 590 videocard.
An image of how the setup hangs:
https://cdn.discordapp.com/attachments/698462095062335508/1064190587198242826/image.png
Is this an FMXInno problem? Thanks!
BLACKFIRE69
15-01-2023, 10:52
Hi,
Audiofeel helped to write the script and UI design for my new installer but some users are having an issue where the setup will simply hang in the taskbar. I am not sure what could be causing this or if it could be looked into. Please let me know.
One such user is using Windows 11 with an i6 9600K and an RX 590 videocard.
An image of how the setup hangs:
https://cdn.discordapp.com/attachments/698462095062335508/1064190587198242826/image.png
Is this an FMXInno problem? Thanks!
i've had this experience before when trying to run Setup.exe from a pen drive. but it works fine for external hard drives. i dont know why...
.
hitman797
16-01-2023, 10:03
Sorry... found a typo
// Exit Message
type
FExitMsg = Interface(IUnknown)
'{DA1F9482-7A11-4AFC-9471-E20FD9DB7F6E}'
........
procedure SetMsg1(const Msg1: WideString);
procedure SetMsg2(const Msg1: WideString);
-------
And one more thing. Could someone check for operability FPictureButton
doesn't quite work in it -
procedure Enabled(Enable: Boolean);
...
and
...
SetText(const FText: WideString);
If you want to hide the button, it doesn't work
That is, if you want to change the text on any page, then it does not change (if everything is fine with you, then I am crooked;);) )
If you want to hide the button, use Visible instead of Enabled.
procedure Visible(FVisible: Boolean);
BLACKFIRE69
16-01-2023, 12:19
What's new:
1. Added full control of SystemTray icon.
{ Create }
procedure pTrayIconCreate(const IconFile, AHint: WideString; ImgType: Integer);
procedure pTrayIconHide;
procedure pTrayIconOnClick(AOnClick: TNotifyEvent);
procedure pTrayIconOnDblClick(AOnDblClick: TNotifyEvent);
{ Icon }
procedure pTrayIconChangeIcon(const IconFile: WideString);
procedure pTrayIconSetItemImg(AItem: LongInt; ABitmap: WideString);
{ Add }
function pTrayIconAddMenuItem(AText: WideString; AOnClick: TNotifyEvent): LongInt;
function pTrayIconAddMenuRadioItem(AText: WideString; AEnabled: Boolean; AOnClick: TNotifyEvent): LongInt;
function pTrayIconAddMenuItemCustom(TextSetting: LongInt; AOnClick: TNotifyEvent): LongInt;
{ Insert }
function pTrayIconInsertMenuItem(AIndex: Integer; AText: WideString; AOnClick: TNotifyEvent): LongInt;
function pTrayIconInsertMenuRadioItem(AIndex: Integer; AText: WideString; AEnabled: Boolean; AOnClick: TNotifyEvent): LongInt;
{ SubMenu }
function pTrayIconSubMenuItemCreate(AText: WideString): LongInt;
function pTrayIconAddSubMenuItem(ASubMenuItem: LongInt; AText: WideString; AOnClick: TNotifyEvent): LongInt;
function pTrayIconAddSubMenuRadioItem(ASubMenuItem: LongInt; AText: WideString; AChecked: Boolean; AOnClick: TNotifyEvent): LongInt;
function pTrayIconAddSubMenuItemCustom(ASubMenuItem: LongInt; TextSetting: LongInt; AOnClick: TNotifyEvent): LongInt;
{ Separators }
function pTrayIconAddMenuSeparator: LongInt;
function pTrayIconAddSubMenuSeparator(ASubMenuItem: LongInt): Longint;
function pTrayIconAddSeparatorBefore(AItem: LongInt): LongInt;
function pTrayIconAddSeparatorAfter(AItem: LongInt): LongInt;
function pTrayIconAddBottomLine: LongInt;
function pTrayIconAddTopLine: LongInt;
{ Other }
procedure pTrayIconMenuItemChecked(AItem: LongInt; AChecked: Boolean);
procedure pTrayIconMenuItemEnable(AItem: LongInt; AEnable: Boolean);
procedure pTrayIconMenuItemVisible(AItem: LongInt; AVisible: Boolean);
procedure pTrayIconMenuItemCaption(AItem: LongInt; AText: WideString);
function pTrayIconGetMenuItemIndex(AItem: LongInt): Integer;
function pTrayIconGetSubMenuItemIndex(ASubMenuItem, AItem: LongInt): Integer;
procedure pTrayIconRemoveMenuItem(AItem: LongInt);
procedure pTrayIconSubRemoveMenuItem(ASubMenuItem, AItem: LongInt);
function pTrayIconSetTextSettings(AText: WideString; Styles: TFontStyles; VLCColor, BkgColor: TColor; Size: Integer; Family: WideString; AFormat: Cardinal): LongInt;
function pTrayIconIsRadioCheckedItem(AItem: LongInt): Boolean;
procedure pTrayIconShowBalloon(ATitle, AText: WideString; AType: TBalloonType);
procedure pTrayIconMenuBreak(AItem: LongInt; AMenuBreak: TMenuBreak);
Notice
i gave up on this whole project. the reason is lack of satisfaction. ya, this is the end of developments, so no future updates, no bug fixing and no technical support.
the next version (v1.0.0.3) is also cancelled out.
TrayIcon is the last feature that FMXInno gets.
thank you for being with this all this time.
hitman797
16-01-2023, 22:44
Well, let's say I just want the button to be inactive, that is, it does not respond to events. So this advice is not suitable (and I know this way). We are talking about the broken function of the "FPictureButton" button . You give an example of a script with the button "FPictureButton2" these are two different objects.
P.S.
Just check if anyone has this working with "FPictureButton"
procedure Enabled(Enable: Boolean);
...
and
...
SetText(const FText: WideString);
it's not working properly the problem in the function.
thank you, @audiofeel
BLACKFIRE69
17-01-2023, 02:18
Well, let's say I just want the button to be inactive, that is, it does not respond to events. So this advice is not suitable (and I know this way). We are talking about the broken function of the "FPictureButton" button . You give an example of a script with the button "FPictureButton2" these are two different objects.
P.S.
Just check if anyone has this working with "FPictureButton"
procedure Enabled(Enable: Boolean);
...
and
...
SetText(const FText: WideString);
it's not fair if i don't fix this...
____________________________________
Added last update to first post.
.
BLACKFIRE69
18-01-2023, 13:17
FMXInno - Dev
* Fully customizable UWP Tiles was a feature in the version v.1.0.0.3
* it's the only feature which supported by its predecessor, FMXInno v1.0.0.2
* if you are interested, i can add this feature on request.
,
hitman797
19-01-2023, 03:04
FMXInno - Dev
* Fully customizable UWP Tiles was a feature in the version v.1.0.0.3
* it's the only feature which supported by its predecessor, FMXInno v1.0.0.2
* if you are interested, i can add this feature on request.
,
hi, BLACKFIRE69.
can you include this in FMXInno v1.0.0.3.
Comp1Name=Game voices>English
Comp1Size=2000
Comp1Group=1
Comp2Name=Game voices>Russian
Comp2Size=2100
Comp2Group=1
Comp3Name=Game crack>CPY
Comp3Size=50
Comp3Group=2
Comp4Name=Game crack>3DM
Comp4Size=50
Comp4Group=2
Comp5Name=Game crack>STP
Comp5Size=50
Comp5Group=2
Comp6Name=Offline MP
Comp6Size=4000
Comp6Group=0
procedure SetupUI_Init(Handle1, Handle2, Handle3: HWND);
external 'func01@files:ISFMXUI.dll cdecl';
procedure SetupUI_Deinit;
external 'func02@files:ISFMXUI.dll stdcall';
procedure SetupUI_Show;
external 'func03@files:ISFMXUI.dll stdcall';
procedure SetupUI_SetDir(Dir: PAnsiChar);
external 'func04@files:ISFMXUI.dll stdcall';
procedure SetupUI_Install;
external 'func05@files:ISFMXUI.dll stdcall';
procedure SetupUI_Progress(Status, Filename: PAnsiChar; Curr, Max: Integer);
external 'func06@files:ISFMXUI.dll stdcall';
procedure SetupUI_Finished(Success: Boolean);
external 'func07@files:ISFMXUI.dll cdecl';
procedure SetupUI_Info(Info1, Info2: String);
external 'func08@files:ISFMXUI.dll cdecl';
procedure SetupUI_AddComponent(Component: String; Size, Group: Integer; Redist: Boolean);
external 'func09@files:ISFMXUI.dll cdecl';
function SetupUI_Component(Component: String): Boolean;
external 'func10@files:ISFMXUI.dll cdecl';
function SetupUI_Shortcuts(Desktop: Boolean): Boolean;
external 'func11@files:ISFMXUI.dll stdcall';
procedure SetupUI_AddBkgImg1(Buff: PAnsiChar; Size: Integer);
external 'func12@files:ISFMXUI.dll cdecl';
procedure SetupUI_AddBkgImg2(Filename: String);
external 'func13@files:ISFMXUI.dll cdecl';
procedure SetupUI_AddAppInfo(Info: String);
external 'func14@files:ISFMXUI.dll cdecl';
procedure SetupUI_AddInstInfo(Info: String);
external 'func15@files:ISFMXUI.dll cdecl';
hi, BLACKFIRE69.
can you include this in FMXInno v1.0.0.3.
Comp1Name=Game voices>English
Comp1Size=2000
Comp1Group=1
Comp2Name=Game voices>Russian
Comp2Size=2100
Comp2Group=1
Comp3Name=Game crack>CPY
Comp3Size=50
Comp3Group=2
Comp4Name=Game crack>3DM
Comp4Size=50
Comp4Group=2
Comp5Name=Game crack>STP
Comp5Size=50
Comp5Group=2
Comp6Name=Offline MP
Comp6Size=4000
Comp6Group=0
procedure SetupUI_Init(Handle1, Handle2, Handle3: HWND);
external 'func01@files:ISFMXUI.dll cdecl';
procedure SetupUI_Deinit;
external 'func02@files:ISFMXUI.dll stdcall';
procedure SetupUI_Show;
external 'func03@files:ISFMXUI.dll stdcall';
procedure SetupUI_SetDir(Dir: PAnsiChar);
external 'func04@files:ISFMXUI.dll stdcall';
procedure SetupUI_Install;
external 'func05@files:ISFMXUI.dll stdcall';
procedure SetupUI_Progress(Status, Filename: PAnsiChar; Curr, Max: Integer);
external 'func06@files:ISFMXUI.dll stdcall';
procedure SetupUI_Finished(Success: Boolean);
external 'func07@files:ISFMXUI.dll cdecl';
procedure SetupUI_Info(Info1, Info2: String);
external 'func08@files:ISFMXUI.dll cdecl';
procedure SetupUI_AddComponent(Component: String; Size, Group: Integer; Redist: Boolean);
external 'func09@files:ISFMXUI.dll cdecl';
function SetupUI_Component(Component: String): Boolean;
external 'func10@files:ISFMXUI.dll cdecl';
function SetupUI_Shortcuts(Desktop: Boolean): Boolean;
external 'func11@files:ISFMXUI.dll stdcall';
procedure SetupUI_AddBkgImg1(Buff: PAnsiChar; Size: Integer);
external 'func12@files:ISFMXUI.dll cdecl';
procedure SetupUI_AddBkgImg2(Filename: String);
external 'func13@files:ISFMXUI.dll cdecl';
procedure SetupUI_AddAppInfo(Info: String);
external 'func14@files:ISFMXUI.dll cdecl';
procedure SetupUI_AddInstInfo(Info: String);
external 'func15@files:ISFMXUI.dll cdecl';
I think the project is over, see #post (https://fileforums.com/showpost.php?p=499842&postcount=186).
hitman797
19-01-2023, 09:33
FloatAnimation
var
Layout1: TLayout;
Rectangle1: TRectangle;
FloatAnimation1: TFloatAnimation;
FloatAnimation2: TFloatAnimation;
procedure TForm2.Rectangle1MouseEnter(Sender: TObject);
begin
FloatAnimation2.Enabled:=False;
FloatAnimation1.Enabled:=True;
end;
procedure TForm2.Rectangle1MouseLeave(Sender: TObject);
begin
FloatAnimation1.Enabled:=False;
FloatAnimation2.Enabled:=True;
end;
object Form2: TForm2
Left = 0
Top = 0
Caption = 'Form2'
ClientHeight = 480
ClientWidth = 640
FormFactor.Width = 320
FormFactor.Height = 480
FormFactor.Devices = [Desktop]
DesignerMasterStyle = 0
object Layout1: TLayout
Align = VertCenter
Size.Width = 640.000000000000000000
Size.Height = 480.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
object Rectangle1: TRectangle
Align = Left
Fill.Color = claBlack
Opacity = 0.800000011920929000
Size.Width = 49.000000000000000000
Size.Height = 480.000000000000000000
Size.PlatformDefault = False
Stroke.Thickness = 0.000000000000000000
OnMouseEnter = Rectangle1MouseEnter
OnMouseLeave = Rectangle1MouseLeave
object FloatAnimation1: TFloatAnimation
AnimationType = InOut
Delay = 0.200000002980232200
Duration = 0.500000000000000000
Interpolation = Back
PropertyName = 'Width'
StartValue = 56.000000000000000000
StartFromCurrent = True
StopValue = 256.000000000000000000
end
object FloatAnimation2: TFloatAnimation
AnimationType = InOut
Delay = 0.200000002980232200
Duration = 0.500000000000000000
Interpolation = Back
PropertyName = 'Width'
StartValue = 256.000000000000000000
StartFromCurrent = True
StopValue = 56.000000000000000000
end
end
end
end
FloatAnimation (https://mega.nz/file/9hEnCaoB#YNykqyAeQV0RlqIXR0lSuHUFBoDzBVlVd1AE4VWCs z4)
hitman797
19-01-2023, 15:04
Metro Installer
Metro Installer (https://mega.nz/file/k4MTFaLT#4evrn9b3NAZJgMX3Su-jyg_8Y3P-k0ahD_I0V52OgM4)
Another example of the work of "FMXInno". The choice of additional components, the choice of voice acting, and so on little things. hitman797 (https://www.fileforums.com/member.php?u=204256) helped somewhere . This is just an example - don't use it in real applications. :rolleyes:
My AV found the compiled output as a suspicious program;). Anyway thanks for the script.Looks nice.
hitman797
21-01-2023, 11:12
Metro Installer
Metro Installer (https://mega.nz/file/UwsyQTQK#uOpWGlJS7Xnq74xt6yI-0gB9Fz5bLlgAxJ9emDzHWfU)
hitman797
22-01-2023, 16:22
SlideShow
TabControl1: TTabControl;
TabItem1: TTabItem;
Rectangle1: TRectangle;
ActionList1: TActionList;
ChangeTabAction1: TChangeTabAction;
NextTabAction1: TNextTabAction;
PreviousTabAction1: TPreviousTabAction;
Timer1: TTimer;
SlideShow (https://mega.nz/file/d4kgWZjT#3WzSFYxy-dQ4Vqzk-nAlvWHn9XrcqYOSGK7KfbBiluA)
Behnam2018
27-01-2023, 19:30
cannot import dll utf8 kernel32.dll
Behnam2018
27-01-2023, 21:44
thanks audiofeel
Q. Which script-project deserves to be revived on FMXInno ?
Hello dear friend
To answer your question, choose is Metro11
If you add the user loading page and goodbye page and also video on backgroud it will be the best installer ever made
Well, it's not serious. More like..."and I like green markers." The script "Metro11" already has a lot of pages, buttons and not quite necessary information. Most users won't even read it. There is an unspoken rule - "no more than five buttons" otherwise most users will simply close the installer (it is not for nothing that the Microsoft campaign advised all software manufacturers to abandon unnecessary pages such as a greeting or an initial invitation). And simple guys like scripts where - "I changed two pictures and a couple of names and the script for another game is ready." And in "Metro11" you will have to try to adapt this script to another game, find a bunch of icons, change the music, slide shows, videos, etc. and so on. Perhaps a video on the background is a good idea, but again - then what size will the installer file have?
I only suggested what was in the corepack version, and if there is no need for more pages, then maybe the background video is not a problem for this script.
Behnam2018
11-02-2023, 20:26
Again this script Glass Black Box with FMXInno ;)
Behnam2018
19-02-2023, 19:50
Hello audiofeel
I used to use this script but it gives me an error
Runtime Error (at-1:0)
Cannot Import
dll:<utf8>C:/Users\Behnam\AppData\Local\Temp\is-EOHI8.tmp\ISArcEx.dll.
Razor12911
21-02-2023, 07:28
I'm not sure I understand your question, but effectively both the normal function and the extended function are the same, the extended function just gives the option to only make a font available to the caller process or that the font should not be enumerated by any process, other than that. They are virtually the same, if you're referring to the functions seemingly not working on FMX platform then all you need to do is call the function before the application is created/initialized.
Razor12911
21-02-2023, 14:05
Ah I remember now. I once had this problem in ASC (Advanced Setup Creator), this isn't a AddFontResource problem but rather a FMX problem on other platforms and the way I fixed it was temporarily placing the font in "C:\Windows\Fonts" you can use FileCopy after extracting temporary files, then adding the font name in Windows Registry in "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Win dows NT\CurrentVersion\Fonts", with Font Name (TrueType) as value name and the font filename as value data. It's wise to check if the font exists in registry before doing this because you need to delete the registry and delete the file in deinitializesetup.
Razor12911
22-02-2023, 11:17
It works fine on Windows 7 (although it was via VM), however there seems to be other problems. I'm not sure if those bezels (the edges left, right and bottom) are by design but they just seemed to be out of place and they are even more prominent if you disable the aero theme.
Hi @audiofeel,
i have played a bit with your Installer (Atomic Hearts) and created my own style. All goes well when the Installer is directly on any harddrive...
When I create an ISO with the Installer, mount it and start the Setup.exe, then it only hanging in the background/taskbar and I only can kill it over taskmanager.
(> same with your provided original on my PC)
My Info:
- Win11-2022 using
- my Script has only other Images and more Redist Icons.
- ISO made with ImageBurn / Mounted with Win11 directly
Do you get the same behavier ?! perhaps already any solution ;-)
(Edit: Same for me with the provided CorePack)
BLACKFIRE69
04-03-2023, 17:13
Ok, hello everyone, who will help? how do I transfer the value from the "FTrackBar" to the "Volume" of the music?
that is, to put it simply, to make a volume control
I tried to do this
procedure TrackbarOnChange(Sender: TObject);
begin
MusicObj.SetVolume(VolTrackbar.GetValue);
end;
Inno says... not right
thank you in advance.
procedure Trackbar1OnChange(Sender: TObject);
begin
MusicObj.SetVolume(Round(Trackbar_Regular.GetValue ));
end;
but why?
IXBass :
procedure SetVolume(Const Vol: Integer);
FTrackBar :
function GetValue: Single;
@BLACKFIRE69
thx for ur replay my msg :)
BLACKFIRE69
05-03-2023, 06:02
Everything is OK, it's working. I may have one more question? Not very smooth volume control, in fact, it disappears already on half of the trackbar.
yes, volume control is neither gradual nor smooth. i agree.
the volume range is (-10,000 to 0).
DSBVOLUME_MAX := 0;
DSBVOLUME_MIN := -10,000
For More Info (https://learn.microsoft.com/en-us/previous-versions/windows/desktop/mt708939(v=vs.85))
i don't know how to do smooth control tho.
what i'm doing is simply just set the value as below. :p
Vol := (InputVolPct - 100) * 100;
DirectSoundBuffer.SetVolume(Vol)
if anyone knows a better way let me know.
yes, volume control is neither gradual nor smooth. i agree.
the volume range is (-10,000 to 0).
DSBVOLUME_MAX := 0;
DSBVOLUME_MIN := -10,000
For More Info (https://learn.microsoft.com/en-us/previous-versions/windows/desktop/mt708939(v=vs.85))
i don't know how to do smooth control tho.
what i'm doing is simply just set the value as below. :p
Vol := (InputVolPct - 100) * 100;
DirectSoundBuffer.SetVolume(Vol)
if anyone knows a better way let me know.
This makes changing the volume a little smoother.
I hope it helps you!
BLACKFIRE69
05-03-2023, 22:47
This makes changing the volume a little smoother.
I hope it helps you!
this could work..
FMXInno Updates:
What's new:
* Updated Music Plugin.
* Updated Skia.
- Skia Graphic Library v107.0.0 --> v107.1.1
- sk4d.dll v4.0.2 --> v4.1.1
* Compiled in RadStudio 11.3.
(the first post has also been updated)
.
BLACKFIRE69
08-03-2023, 08:45
Animation broke, could you bring back the animation? I understand that you can live without animation, but still it was better with it.
first of all i apologize.
it's my responsibility to check that everything is working fine before sharing the new update. but i didn't.
custom page animations seem to not work properly with the latest version of RadStudio(v11.3). so i went back and recompiled the DLL with the previous version(v11.2 + Patch 01). so this might work.
Hello again to everyone who helps with the combobox? (drive letter), does not work normally (you will understand where and how at startup and test)
let's see...
guys, could you check this DLL before updating the first post?
FMXInno - Updates
* Updated Video Player Volume Function.
* Added new properties/functions for FEdit.
--Password(FPassword: Boolean)
--FilterChar(FFilterStr: WideString)
--DisableFocusEffect(FDisable: Boolean)
--MaxLength(FLength: Integer)
--HitTest(FEnable: Boolean)
--Caret(FColor: TAlphaColor FInterval: Integer FWidth: Word)
--CheckSpelling(FCheck: Boolean)
--CaretShow(FShow: Boolean)
--SelectAll
--SelectWord
--SelStart(FValue: Integer)
--SelLength(FValue: Integer)
--GetSelText: Widestring
--SelectionFillColor(FColor: TAlphaColor)
--SelectionFillImage(FImage: WideString)
--SelectionFillGradient(FColor1, FColor2: IntegerFStyle: TGradientStyle)
--SelectionFillGradientLinearAngle(FAngle: Single)
--SelectionFillGradientRadialAngle(FAngle: Single)
--OnTyping(FEvent: TNotifyEvent)
--OnValidate(FEvent: TValidateTextEvent)
--OnValidating(FEvent: TValidateTextEvent)
--OnEnter(FEvent: TNotifyEvent)
--OnExit(FEvent: TNotifyEvent)
,
BLACKFIRE69
08-03-2023, 09:17
Thank you for taking the time. The folder name is duplicated in "DirBrowseForm". I believe that the culprit of this is "ChangeDirectory". This is an old bug, I have never written to you about it, but I just did not use this procedure. Everything else seems fine at first glance. But I could be wrong.
try this...
BLACKFIRE69
08-03-2023, 09:55
the first post has been updated. check it out!
BLACKFIRE69
08-03-2023, 17:45
All projects written using "FMXInno" do not run on flash drives, card readers, sd cards, nor do they run on external hard drives and SSDs. also if they are inside the .iso file
this is a minor fix. everything works ok in my tests. but i need you guys to check this further...
Tihiy_Don
09-03-2023, 02:21
Good afternoon! You have made adjustments to the shared library, please make adjustments for the library under Windows 7.
BLACKFIRE69
09-03-2023, 03:29
Good afternoon! You have made adjustments to the shared library, please make adjustments for the library under Windows 7.
it may not possible to have blurred effects on Windows 7. but other features should work, although i haven't tested it once.
Tihiy_Don
09-03-2023, 03:34
it may not possible to have blurred effects on Windows 7. but other features should work, although i haven't tested it once.
I have no goal to get all sorts of effects, the main thing is to work from Windows 7 to Windows 11. I would appreciate it if you updated the library.
BLACKFIRE69
09-03-2023, 03:37
FMXInno - Quality Updates
What's New:
* Fixed the initialization failure when the Setup.exe is in external driver, USB or ISO files.
* Updated external plugins.
Check out the first post...
BLACKFIRE69
10-03-2023, 06:11
The "High performance required" power plan (if it can't be turned on or you don't know how... and to hell with it).
by using this simple tool, we could exempt the user from it. ;)
FMXInno-PowerPlan.exe:
USAGE:
FMXInnoPowerPlan.exe [/Switch]
SWITCH:
/Enable = Enable FMXInno PowerPlan.
/Disable = Disable FMXInno PowerPlan.
checkout the Test.iss for more details...
.
@blackfire: Thanks for the final solution to the external media problem.
@audiofeel : Thanks to the first attempts to solve the problem.
This project is really great. :-)
BLACKFIRE69
12-03-2023, 13:47
"FEdit" doesn't want to hide and show up as desired, What's wrong? Who understands what? Correct it.
Everything is fine with the "FCheckbox". With "edit" no. the code is the same.
why don't you try this way?
.
BLACKFIRE69
14-03-2023, 02:34
A lightweight version of the "METRO" script. Without Autorun and tiles in the form of tiles.
FMXInno + IsArcEx
This is a demo version (demonstration of the capabilities of the dynamic library FMXInno) do not use it for its intended purpose. Only for Windows 10-11
-----------------------
Minor update. Changed the animation effect (I spied UWPTiles here).
added some functions to ExitForm, now it's 100% customizable.
procedure YesBtnVisible(FVisible: Boolean);
procedure NoBtnVisible(FVisible: Boolean);
procedure Msg1Visible(FVisible: Boolean);
procedure Msg2Visible(FVisible: Boolean);
Example: New Buttons
ExitForm.YesBtnVisible(False);
ExitForm.NoBtnVisible(False);
NewExitBtn[1].FCreate(ExitForm.Handle, ExitForm.GetWidth - NSX(310), ExitForm.GetHeight - NSY(70), 'Yes', False);
NewExitBtn[1].BackColor(ALPaleturquoise);
NewExitBtn[1].OnClick(@CommonOnClick);
NewExitBtn[2].FCreate(ExitForm.Handle, ExitForm.GetWidth - NSX(200), ExitForm.GetHeight - NSY(70), 'No', False);
NewExitBtn[2].BackColor(ALPaleturquoise);
NewExitBtn[2].OnClick(@CommonOnClick);
.
BLACKFIRE69
15-03-2023, 05:24
@BLACKFIRE69 Have you tried to make "Plugin\FluentAPI" on the standard "SelectLanguageForm"?
some kind of crap turns out :D:D
yes, unless you set the background color to null anyway.
.
BLACKFIRE69
15-03-2023, 07:11
FMXInno - Dev
* Fully customizable UWP Tiles was a feature in the version v.1.0.0.3
* it's the only feature which supported by its predecessor, FMXInno v1.0.0.2
* if you are interested, i can add this feature on request.
Of course it's interesting. Version 1.0.0.3 is needed
sorry bro, i didn't see that...
FMXInno - Cumulative Update
* Added UWP Tiles.
three examples are attached.
Example1: An example with default settings.
Example2: i'm gonna show you how to create your own custom tiles.
Example3: A more customized example.
.
BLACKFIRE69
15-03-2023, 08:17
@BLACKFIRE69
I have no words, great job. It remains only to find an idea to implement it all (and the ideas have run out). Of course, the low feedback is depressing, each post is downloaded at least 50 times and there is no feedback.
yes, one of the reasons why i gave up on this whole project. it leads to lack of motivation. :(
and @audiofeel,
you always appreciate my works. so thank you very much. :)
BLACKFIRE69
15-03-2023, 08:42
I found one oddity, if you click on the tile not with the left mouse button, as it should be, but with the right, and not just once, but a lot, then the tile shifts down to the lower right corner.
here is an example in the screenshot :o
Fixed! ;)
.
BLACKFIRE69
16-03-2023, 03:23
Hi,
anyone interesting in creating custom components for FMXInno (like FUWPTiles, FToggleCheckBox, FNotification, etc.) is welcome,
and you'll get proper credit for doing so...
On FMXInno i called blueprints for custom components like the unreal engine(except the visual scripting part). :p
,
BLACKFIRE69
16-03-2023, 08:31
Update Available!
* The latest update is in the first post.
* Those who don't have the latest final release go and download it!
BLACKFIRE69
18-03-2023, 06:12
Update Available!
* The latest update is in the first post.
* Those who don't have the latest final release go and download it!
One More Thing
* Added rating stars.
,
BLACKFIRE69
20-03-2023, 07:18
@BLACKFIRE69.
I found a small bug. If the user chose "solid color" instead of wallpaper, there will be an error. Culprit = "GetDesktopImgColorFMX", "FUserInfo" - "function Wallpaper: WideString"
this could be more helpful.
* Added new functions.
- GetDesktopSolidColorVCL
- GetDesktopSolidColorFMX
- DesktopImgExist
Example:
if DesktopImgExist then
FMXForm.FCreateFluentColor(WizardForm.Handle, GetDesktopImgColorVCL, False, 0.4, 0)
else
FMXForm.FCreateFluentColor(WizardForm.Handle, GetDesktopSolidColorVCL, False, 0.4, 0);
BLACKFIRE69
20-03-2023, 07:28
@BLACKFIRE69
Hi. In all your demo examples, etc., the size of the game being installed does not change when additional options are selected, such as additional language packs and optional packages. And he probably has to change. In the standard version, everything is easier with this, just added the desired size to the component and it automatically added itself. Don't you think to automate it somehow? as in the installer from "GOG"
search for the word Updated23320 to find the changes.
.
Behnam2018
22-03-2023, 09:00
New Seutp
Masquerade
22-03-2023, 09:26
Wow! Cool installer. Who made it? And is it possible to repeat it? that's the question
Yes, an incredible job :p :D
BLACKFIRE69
22-03-2023, 10:40
@BLACKFIRE69: Mr... Is it possible to change the volume with the mouse wheel? (you point the pointer at the button, turn the wheel and the volume changes) As in the latest Win11 builds. A non-interfering SetHint appears at the top with numbers showing the level.
Sorry for my english, you all already felt a slight Welsh accent
Here , as if it is possible (https://docwiki.embarcadero.com/Libraries/Sydney/en/FMX.Controls.TControl.MouseWheel)
Added OnMouseWheel event for FMXForm and Trackbar. let me know if you need OnMouseWheel event for other components as well.
.
Behnam2018
22-03-2023, 22:43
made BY KaOs Repack
Masquerade
22-03-2023, 23:28
made BY KaOs Repack
No, made by audiofeel, as written in credits, and thanks to BLACKFIRE69 for the IsArcEx and FMXInno libraries!
BLACKFIRE69
24-03-2023, 07:38
FMXInno v1.0.0.2 - Updates
* Now almost all components are ready to work with FXPacker and FXStream.
.
BLACKFIRE69
27-03-2023, 11:15
Here, a little higher, a user under the nickname Behnam2018 posted a screenshot with the installer. An experienced eye will notice that the fonts that should be displayed are not displayed there. Most likely, Behnam2018 is installed "Windows7". On it, with the "temporary" installation of fonts, small problems sometimes arise. As a temporary solution, I propose this.
function InitializeSetup(): Boolean;
var
ResultCode: Integer;
begin
if not FontExists('My Font') then
begin
ExtractTemporaryFile('MyFont.ttf');
ExtractTemporaryFile('FontReg.exe');
Exec(ExpandConstant('{tmp}\FontReg.exe'), '/copy', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
end;
Result:= True;
end;
https://code.kliu.org/misc/fontreg/
could you test this?
function InitializeSetup(): Boolean;
begin
{ Font }
ExtractTemporaryFile('{#MyFont1}');
ExtractTemporaryFile('{#MyFont2}');
InstallFMXFont(ExpandConstant('{tmp}\{#MyFont1}')) ;
InstallFMXFont(ExpandConstant('{tmp}\{#MyFont2}')) ;
{ Font }
FMXInnoInit;
Result := True;
end;
procedure DeinitializeSetup();
begin
{ Font }
DeleteFMXFont(ExpandConstant('{tmp}\{#MyFont1}'));
DeleteFMXFont(ExpandConstant('{tmp}\{#MyFont2}'));
{ Font }
FMXInnoShutDown;
end;
procedure FMXDesigning;
begin
{ FMX Blank Form }
FMXForm.FCreateBlankForm(WizardForm.Handle, ALCrimson, '');
FMXForm.SetCursor(ExtractAndLoad('Dark2.ani'));
// Font
InvalidateFMXFont;
....
end;
BLACKFIRE69
27-03-2023, 12:29
I have no way to test this on Windows 7. On Windows 11, everything is fine.
DeleteFMXFont function is not needed, you can remove it.
BLACKFIRE69
27-03-2023, 13:14
If you run and cancel the installation several times, this happens (I realized this by increasing the speed of the cooler). I can make a mistake, but nothing was launched except the installation
oops...
Razor12911
27-03-2023, 13:57
Win 7, works fine on win 10 though.
edit: multiple instances of taskkill.exe have been running in background, noticed 30 mins later and they've been eating cpu this whole time.
BLACKFIRE69
27-03-2023, 16:17
edit: multiple instances of taskkill.exe have been running in background, noticed 30 mins later and they've been eating cpu this whole time.
does it happen even after executing DeleteFMXFont??
BLACKFIRE69
27-03-2023, 23:24
@BLACKFIRE69
I found another oddity or feature. On FMXForm.FCreateImageForm does
not display VideoPlayer. Is it possible to implement it?
the video player appears to be invisible when the form is layered. and i haven't been able to find a fix for it so far. sorry,
BLACKFIRE69
28-03-2023, 07:18
What's new:
* Merged ISArcEx into FMXInno.
- need to be tested to make sure everything is ok.
* Added new function FXMathExp (which parses math expressions).
- function FXMathExp(Exp: WideString): Double;
- it's different from the Calc function in MFT.
----------ISArcEx----------:
>> remove the following lines highlighted in red from your current script.
[Files]
// External
Source: ".\Unpack\English.ini"; DestDir: {tmp}; Flags: dontcopy
//Source: ".\Unpack\Russian.ini"; DestDir: {tmp}; Flags: dontcopy
Source: ".\Unpack\arc.ini"; DestDir: {tmp}; Flags: dontcopy
Source: ".\Unpack\unarc.dll"; DestDir: {tmp}; Flags: dontcopy
Source: ".\Unpack\ISArcEx.dll"; DestDir: {tmp}; Flags: dontcopy
[Code]
{ ISArcEx v0.4 }
var
ISArcExDiskCount: Integer;
ISArcExCancel: integer;
ISArcExError: boolean;
ISArcDiskAddingSuccess: boolean;
type
TCallback = function(OverallPct, CurrentPct, DiskTotalMB, DiskExtractedMB: Integer; DiskName, CurrentFile, TimeStr1, TimeStr2, TimeStr3, Speed: WideString): LongWord;
function ISArcExInit(WinHandle: Longint; TimeFormat: Integer; Callback: TCallback): Boolean; external 'ISArcExInit@files:FMXInno.dll stdcall';
function ISArcExAddDisks(Inputfile, Password, OutputPath: Widestring): Boolean; external 'ISArcExAddDisks@files:FMXInno.dll stdcall';
function ISArcExExtract(DiskNumber: Integer; CfgFile, WorkPath: Widestring): Boolean; external 'ISArcExExtract@files:FMXInno.dll stdcall';
function SuspendProc: Boolean; external 'SuspendProc@files:FMXInno.dll stdcall';
function ResumeProc: Boolean; external 'ResumeProc@files:FMXInno.dll stdcall';
procedure ISArcExStop; external 'ISArcExStop@files:FMXInno.dll stdcall';
procedure ISArcExCleanUp; external 'ISArcExCleanUp@files:FMXInno.dll stdcall';
function ChangeLanguage(Language: Widestring): boolean; external 'ChangeLanguage@files:FMXInno.dll stdcall';
function Exec2(filename, Param: WideString; Show: Boolean): Boolean; external 'Exec2@files:FMXInno.dll stdcall';
{ - End - }
----------FXMathExp---------:
var
Exp, Ans: String;
function InitializeSetup(): Boolean;
begin
Exp := 'Sin(Pi/6) + ATan(1) * (Pow(7*2,2) - (Fact(4) - Floor(8.46))) / Pi + Sqrt(Abs(-553 + Sqrt(9) * LogN(2, 2) / 2^2))';
Ans := Format('%0.2n', [FXMathExp(Exp)]); // Ans = 69.00
MsgBox('answer: ' + Ans, mbInformation, MB_OK);
result:= False;
end;
Numeric Operators:
x + y, x - y, x * y, x / y, x % y (or Mod),
x ^ y [Power], x \ y (or Div)
Comparison Operators:
x > y, x < y, x >= y, x <= y, x = y, x <> y,
!x (not), x & y (and), x | y (or), x xor y
Logical operators:
& (and), | (or), xor, ! (not)
Logical Functions:
iff(e, x, y) -> iff(10 > 3, 1, 0) = 1
isnumber('x')-> isnumber('25') = 1
Bitwise operations:
x && y (band), x || y (bor), !!x (bnot),
x bxor y, x >> y (shr), x << y (shl)
Statistical Functions:
max -> max(2, 4.87, 0.24, 10.0, 11)
min -> min(3, 4, 7.4, 11.0)
sum -> sum(0.25, 4.0, 11, 8)
avg -> avg(7, 3, 5)
count -> count(x,y,z,...)
stddev -> stddev(x,y,z,...) - standard deviation (unbiased)
stddevp -> stddevp(x1,x2,...) - standard deviation (biased)
sumofsquares -> sumofsquares(x,y,...) - sum of passed values squares
variance -> variance(x,y,...) - variance (unbiased)
variancep -> variancep(x,y,...) - variance (biased)
String Functions:
number -> number("+835xyz") = 835, number("2e2") = 200
length(s) - length of the string.
pos(t, s) - returns the index value of the first character of t that occurs in s.
hex(s) - returns numeric value for hexadecimal string.
Sign of a number:
sign -> sign(-5) = -1, sign(5) = 1, sign(0) = 0Predefined Constants:
Pi = 3.1415926535897932385
e = 2.71828182845905
True = 1
False = 0
Exponent of 10:
e -> 1e+3 or le3 = 1000
Trigonometric, hyperbolic and invert functions:
sin(x), cos(x), tan(x), asin(x), acos(x), atan(x),
cosh(x), sinh(x), tanh(x),
asinh(x), acosh(x), atanh(x), sinD(x), cosD(x), tanD(x),
RadToDeg(x), DegToRad(x)
Exponential and logarithmic functions:
log(x), lg(x) (log base 10), ln(x), LogN(x, y), exp(x),
sqrt(x), sqr(x), Pow(x, y), Ldexp(x, y), LnXP1(x)
Numeric and factional part of number:
abs -> abs(-24)
Int -> Int(1.951) = 1
frac -> Frac(12.75) = 0.75
ceil -> Ceil(-2.8) = -2, Ceil(2.8) = 3
floor -> Floor(-2.8) = -3, Floor(2.8) = 2
Round -> Round(1234567, -3) = 1235000, Round(1.235, 2) = 1.24
Trunc -> Trunc(1234567, -3) = 1234000, Trunc(1.235, 2) = 1.23
Fact -> Fact(4) = 24 - Factorial
Random number generator:
rnd, randomize
wangfeilong0317
28-03-2023, 08:42
Very cool and concise installation program. The Win10 system can be installed normally. Is the garbled code on this page normal?
BLACKFIRE69
28-03-2023, 09:04
but in the latest dll with a new method of installing fonts, something incomprehensible happens
windows 11 can cause this. i really don't know. but can you try this anyway?
BLACKFIRE69
28-03-2023, 09:57
This has nothing to do with the last unpacking test. Absolutely the same for the module. check it out. But in one case it is a system font in the other it is not. You need to come up with some kind of "exist" and nail it in the dll.
-------------------------
test it . there are two scripts in the archive. one system font. the other one is not a system one.
there's something wrong with the FMX rendering engine. :o so i had to change things in the InvalidateFMXFont function. now it should work.
.
BLACKFIRE69
29-03-2023, 11:41
What's New:
* Added CheckBoxTree.
.
wangfeilong0317
29-03-2023, 21:06
Setup cannot exit normally, program is not responding。Am I the only one who has this problem?
BLACKFIRE69
30-03-2023, 11:23
Final Release - March 2023
What's new:
* Now FMXInno supports ChatGPT.
- Internet connection is required.
- You must have an openAI API key.
* Added Google Translate.
- Internet connection is required.
- Ex: S := GoogleTranslate(InputMemo.GetText, 'en', 'ru');
* Upgraded Skia.
- v 4.1.1 to v5.0.0
- There is a compatibility break. so don't mess with old binaries.
* Includes all changes made so far.
The first post has been updated.
.
Masquerade
30-03-2023, 13:24
Cool, now you can chat with an AI whilst the repack installs :p
Compression done by AI, when? :D
BLACKFIRE69
30-03-2023, 21:43
Cool, now you can chat with an AI whilst the repack installs :p
as a step forward, a co-pilot can be introduced for the installer if needed in the future. (+ voice recognition). ;)
BLACKFIRE69
01-04-2023, 11:31
What's New:
* Now you can feed media files (Audio/Video) to ChatGPT.
- Supported formats: *.m4a, *.mp3, *.webm, *.mp4, *.mpga, *.wav, *.mpeg
* Added HTML Texts.
HTML Text Syntax:
Link = <a:"https://google.com/">Click Here</a>
Spoiler = <spoiler:UniqueName>Text</spoiler> and
<sdetail:name>Expanded text when the spoiler link is clicked.</sdetail>
Bold = <b>Hello World</b>
Italic = <i>Hello World</i>
Strike = <s>Hello World</s>
Underline = <u>Hello World</u>
FontName = <fn:Segoe UI Bold>Hello World</fn>
FontSize = <fs:18>Hello World</fs>
FontColor = <fc:claRed>Hello World</fc>
= <fc:$FFFFFF>Hello World</fc>
> claRed = Red Color (FMX)
BackgroundColor = <bc:claBlack>Hello World</bc>
= <bc:$FF4563>Hello World</bc>
Line Break = <br> , Ex: Hello <br> World
Prevent line break after #13#10 sequence
= <nbr> , Ex: <nbr>Hello World
Line spacing = <LS:Height>Text</LS> , Ex: <LS:14>Hello</LS>
Align Left = <L>Text</L>
Align Center = <C>Text</C>
Align Right = <R>Text</R>
Tab = <t:30>Text
Tab with aligned break = <tf:30>Text
Unordered list = <UL></UL>
Ordered list = <OL></OL>
List item = <LI></LI>
Float = <float:X,Y,Width>Text</float>
Ex: <float:20,10,120>Hello World</float>
HTML Text Example:
S := 'The <fs:20><spoiler:bf-link-01>FireMonkey framework</spoiler></fs>' +
'<sdetail:bf-link-01> Developed by <b>Embarcadero Technologies</b></sdetail>' +
' is the <u>app development</u> and <u>runtime platform</u> behind' +
'<br><br>' +
'<fc:claPurple><b>RAD Studio</b></fc>, <fc:claPurple><b>Delphi</b></fc>, <fc:claRed><fs:14><s><b>.Net</fs></b></s></fc> and <fc:claPurple><b>C++Builder</b></fc>. ' +
' <b><i><bc:claYellow>FireMonkey</bc></i></b> is designed for teams building <br><i>multi-device</i>, <i>true native apps</i> for' +
' <fs:15><fc:claLightSeaGreen>Windows</fc></fs>, <fs:15><fc:claLightSeaGreen>OS X</fc></fs>, <fs:15><fc:claLightSeaGreen>Android</fc></fs> and <fs:15><fc:claLightSeaGreen>iOS</fc></fs>,' +
'<br>' +
'and getting them to app stores and enterprises fast.' +
'<br><br><br>' +
'<ul><fs:15><fc:claOrangered>' +
'<li>Item 01</li>' +
'<li>Item 02</li>' +
'</fc>' +
'<ol><fc:claSienna>' +
'<li>Sub Item 2.1</li>' +
'<li>Sub Item 2.2</li>' +
'</fc></ol>' +
'<fc:claOrangered>' +
'<li>Item 03</li>' +
'</fc>' +
'</fs></ul>';
HTMLText.FCreate(FMXForm.Handle, S);
HTMLText.AutoWidth(True);
HTMLText.AutoHeight(True);
HTMLText.Left(30);
HTMLText.Top(100);
BLACKFIRE69
02-04-2023, 06:36
Thanks. Everything is working fine, Animation broke, could you bring back the animation? I understand that you can live without animation, but still it was better with it.
i think i've fixed the animation issue for the latest version of RadStudio (11.3). ;)
BLACKFIRE69
03-04-2023, 09:52
What's new:
* Introduced smooth scrolling option to ScrollBoxes.
* Minor improvements.
* Compiled in the latest version of RadStudio.
To quickly download the FMXInno latest version, simply visit the first post!
BLACKFIRE69
04-04-2023, 10:32
What's new:
* Introduced smooth scrolling option to ScrollBoxes.
Added three additional options.
procedure SmoothHideScrollbars(FEnable: Boolean);
procedure SmoothRate(FRate: Double);
procedure SmoothInterval(FInterval: Word);
Example:
ScrollBox.SmoothScroll(True);
ScrollBox.SmoothHideScrollbars(True);
ScrollBox.SmoothRate(0.2);
ScrollBox.SmoothInterval(2);
BLACKFIRE69
04-04-2023, 18:19
BLACKFIRE69
FScrollBoxTree
Scrolling with the wheel behaves strangely, it does not work everywhere
could you please explain in detail?
regarding the response time of scrolling with the mouse wheel, there might be a delay and it may not be instantly responsive. however, the behavior comes from Delphi itself. so i've nothing to do with it. ;)
BLACKFIRE69
05-04-2023, 04:18
typo FCheckBoxTree
I have no thought of accusing you of anything
the response time is normal. but scrolling doesn't work on everything. if the item is expanded, then there is no problem, but if it is collapsed, then there is no roll-up
i'm sorry, i didn't quite catch what you were saying. on my end, it works ok.
would it be possible for you to provide an example for testing purposes?
.
BLACKFIRE69
05-04-2023, 12:07
So I messed up somewhere. view this example with a problem? when you're free
i can offer you two solutions, but it's important to keep in mind that due to the limitations in Delphi, they may not be 100% perfect.
Option 01:
Page4CheckboxTree.Selectable(True);
https://i.ibb.co/q0sS9pq/00.gif
> imperfection:
when you click on an item, it'll be selected/highlighted. ( you'll observe that the same occurrence takes place in Razor12911's wpi1801 installer )
https://i.ibb.co/1KzJCCT/R.png
Option 02:
this can be seen as a trick i used to find a solution. (checkout the iss file)
https://i.ibb.co/94TGsdV/11.gif
> imperfection:
on checkboxes and radiobuttons, scrolling may not function perfectly.
.
BLACKFIRE69
05-04-2023, 12:52
Option 01:
Page4CheckboxTree.Selectable(True);
> imperfection:
when you click on an item, it'll be selected/highlighted. ( you'll observe that the same occurrence takes place in Razor12911's wpi1801 installer )
upon applying this fix, the highlighting will no longer be permanent.
.
BLACKFIRE69
06-04-2023, 05:57
FMXInno + FMXInnoSkia - Final Release : 2023-Apr-06
The latest update can be found in the first post!
* New properties have been added to certain components.
* Implemented several improvements.
BLACKFIRE69
07-04-2023, 04:09
@blackfire69
Greetings. Let's say someone decided to use the standard Inno setup packaging tools. Without using Isarcextract. There are small problems (for you and for many, it may not be a problem) . How to pause unpacking when Isarcextract is not used?
procedure CloseBtnOnClick(Sender: TObject);
begin
if WizardForm.CurPageID = wpInstalling then
begin
SuspendProc;
ExitForm.Show;
end else
ExitForm.Show;
end;
How to achieve smoothness of the progress bar and its accuracy when Isarcextract is not used?
ProgressBar.SetValue(WizardForm.ProgressGauge.Posi tion, 1000);
And how to roll back everything when canceling the installation when Isarcextract is not used??
I would like if you don't mind a working example
perhaps this will work for you..
.
crachlow
07-04-2023, 09:03
Thanks Blackfire69. This solved some problems.
Tihiy_Don
14-04-2023, 00:28
How can I draw and transfer the installation progress to the progressbar if the built-in compression Inno Setup is used?
BLACKFIRE69
17-04-2023, 08:56
FMXInno - Cumulative Updates [2023-Apr-17]
Highlights:
* Several enhancements have been made.
* Voice recognition and speech capabilities have been added to FMXInno.
* Included additional Copy and Move functions for files.
The first post has been updated.
* The given example has the ability to understand certain commands.
Recognizable commands for the given example:
1. "go"
2. "comeback to".
3. "stop".
4. "browse".
5. "pause".
6. "resume".
7. "music".
8. "about".
9. "verify".
* and also recognize phrases such as
"I need you to come back to" as per the given Grammar.xml.
Tested Voice: English (US).
Grammar XML: Elements.
1. <O>AText</O> = Optional phrase that may be recognized.
2. <L>...</L> = List of phrases which can be recognized.
3. <P VAL="#">AText</P> = Phrase that must be recognized for the containing rule to be recognized.
4. LANGID : The language identifier of the grammar. || "409" - English-US, "809" - English-GB
5. RULE : Rule that contains phrases or text to be recognized.
6. PROPNAME : The semantic property's string identifier.
7. RULEREF : Import, or reference, another rules contents.
NOTE:
1. It is *imperative* that the "_ref" phrase be added at the end of the
"PROPNAME" of "RULEREF".Grammar XML: Example.
<GRAMMAR LANGID="409">
<RULE NAME="R_My_Main" TOPLEVEL="ACTIVE">
<O>i need you to </O> <!-- Optional Phrase -->
<L PROPNAME="buttonPress" >
<P VAL="1">go</P> <!-- Click Next Button -->
<P VAL="2">comeback to</P> <!-- Click Back Button -->
<P VAL="3">stop</P> <!-- Click Cancel Button -->
<RULEREF NAME="R_My_Sub_A" PROPNAME="additionalButtonPress_ref"/> <!-- Reference 1 -->
<RULEREF NAME="R_My_Sub_B" PROPNAME="moreButtonPress_ref"/> <!-- Reference 2 -->
</L>
</RULE>
<RULE NAME="R_My_Sub_A">
<L PROPNAME="additionalButtonPress">
<P VAL="4">browse</P> <!-- Click Browse Button -->
<P VAL="5">pause</P> <!-- Click Pause Button -->
<P VAL="6">resume</P> <!-- Click Resume Button -->
</L>
</RULE>
<RULE NAME="R_My_Sub_B">
<L PROPNAME="moreButtonPress">
<P VAL="7">music</P> <!-- Click Music Button -->
<P VAL="8">about</P> <!-- Click About Button -->
<P VAL="9">verify</P> <!-- Click Verify Button -->
</L>
</RULE>
</GRAMMAR>
.
crachlow
18-04-2023, 11:48
BLACKFIRE 69. There was a question about the expediency of calling copy/move operations from the library itself. No, perhaps in some cases this is enough, but to create, for example, a backup and then restore from it, during the uninstall you will have to copy FMXInno to the installation directory. I wouldn't want to do that. Maybe you should consider a system call option? But I would like to leave the Overwrite. Thank you in advance.
crachlow
18-04-2023, 12:04
BLACKFIRE69, do not think that this is not a necessary function in the library itself, I just would like to have an addition for such operations as restoring from a backup without carrying the entire library with it.
BLACKFIRE69
19-04-2023, 01:06
One more thing
* Users now have the ability to choose their preferred form corner type, (Win11 +)
This feature is particularly beneficial for those who have a strong dislike for rounded corners. :D
.
BLACKFIRE69
19-04-2023, 10:23
You can do the same for all child forms
FCustomFluentWindow. and so on....
P.S. I'm not a fan of angles, but sometimes you need them to get into the style
Updated,
.
@BLACKFIRE69, I don't follow your project very much, but I have a question.
Is it possible to define shadows in the labels and define a position for them with respect to the text like in CIU?
If you still don't have support for this, it would be interesting to have X and Y options to move the shadow with a default value of 1px position in relation to left and Top, or parameters for X and Y position for the shadow, with the default position being the shadow exactly in the position of the text.
procedure ShadowSetting(FColor: Integer; FOpacity, FSoftness: Single; FPosX, FPosY: Integer);
hitman797
19-04-2023, 20:09
hi, blackfire69,
thank you for everything you give to this community.
In fact I learned a lot from you.
thank you.
BLACKFIRE69
22-04-2023, 00:37
FMXInno - Optional Updates
* Synthesizing user input is made easy with FMXInno's support for
generating keystrokes, mouse motions, and button clicks.
Examples:
Keyboard: Press Win + X
{ Method 1 }
VirtualAction.PressedKey(vkLWin); // Left Win
VirtualAction.PressKey(vkX); // X
VirtualAction.ReleasePressedKey(vkLWin);
VirtualAction.Flush;
{ Method 2 }
VirtualAction.PressedShiftKey([F_ssWin]); // Left\Right Win
VirtualAction.PressKey(vkX);
VirtualAction.ReleasePressedShiftKey([F_ssWin]);
VirtualAction.Flush;
{ Method 3 }
VirtualAction.CallShortcut([F_ssWin], vkX);
VirtualAction.Flush;
Mouse: Click on Btn[3]
// New MousePos: Btn[3] center.
VirtualAction.FormMouseMove(Round(Btn[3].GetLeft + Btn[3].GetWidth / 2),
Round(Btn[3].GetTop + Btn[3].GetHeight / 2));
VirtualAction.MouseClick(mbLeft);
VirtualAction.Flush;
.
thanks for your work.I have a question, how can I use the Lizard installation with DiskSpan GUI?
BLACKFIRE69
24-04-2023, 04:07
A small model of the site Cyberpunk 2077
Rate?
---------------
English version
---------------
UP + FXPcker.exe
that's awesome, dude! ;)
crachlow
24-04-2023, 04:56
Blackfire69. There was a question on Downloader_Example_SingleThread.iss. From version 6.0.5 to 6.2.2 it gives the same error. Could you see what's wrong?
https://i.ibb.co/Db3B6wH/error.png://
BLACKFIRE69
24-04-2023, 06:07
Blackfire69. There was a question on Downloader_Example_SingleThread.iss. From version 6.0.5 to 6.2.2 it gives the same error. Could you see what's wrong?
https://i.ibb.co/Db3B6wH/error.png://
Updated ISS, tested with innosetup v6.2.2.
.
Behnam2018
24-04-2023, 20:40
audiofeel
Hello, thank you so much for your hard work, how beautiful and beautiful
If you don't mind making this script, I will archive all your scripts because they are beautiful and beautiful. I have already posted the executable file.
crachlow
25-04-2023, 08:29
I didn't replace the original picture.
Thank you
Before you write what an error is, you probably need to create a report where and when and what you did at the same time. What do you think?:confused:
This error message occurred before the first startup.
I tried to replace the normal PNG image, but the error still appears. Is it related to my operating system being in Chinese?
the png file is corrupted
Problem solved, thank you
Thanks
Behnam2018
25-04-2023, 20:28
Hi, this script is muted by default. You can turn it on in this script
BLACKFIRE69
25-04-2023, 21:10
@BLACKFIRE69
There's a small problem with the FRadioButtons. They switch each other but belong to different components. And even being on different FCustomPage, they continue to influence each other. What should I do?
I attach a file for demonstration
Added new property.
- FRadioButton.GroupName
.
BLACKFIRE69
26-04-2023, 04:10
https://i.ibb.co/bb1SkzK/FMXInno-logo1s.pnghttps://i.ibb.co/FDdmJ8k/7-JDAQcm-1.pnghttps://i.ibb.co/yVv2dgt/Fkc3y6S.png
* Please find attached two FMXInno examples that support DiskSpan GUI. I would appreciate it if you could conduct some test runs to confirm its functionality.
* Due to additional requirements, upgraded XHashNext to XHashEx.
* Component properties have been extended.
DSG functionality has been added by Cesar82 (https://fileforums.com/member.php?u=178707).
BLACKFIRE69
30-04-2023, 17:29
@BLACKFIRE69
And another question arose. such an effect as procedure AnimateOpacity(FOpacity, FDuration, FDelay: Single) has only FLayout - is this due to some restrictions? is it possible to add it to other objects such as text, buttons, etc.
yes, other objects can have this property too. in the next update, i'll add it in a more useful way
And is it possible to adjust the distance between lines in the FText as in html = Line spacing = <LS:Height>Text</LS> , Ex: <LS:14>Hello</LS>
i'm not sure about that.
Tihiy_Don
02-05-2023, 13:34
Is it possible to use the video as the background of the installer? Buttons, text, and so on will be placed on top of the video.
BLACKFIRE69
03-05-2023, 06:44
@BLACKFIRE69
If the html text is placed on some object and the transparency is set to 0 in the properties. Then the object becomes transparent as expected and the html text remains visible
@audiofeel
it seems that the opacity property is not functioning correctly on the FHTMLText custom component.
Is it possible to use the video as the background of the installer? Buttons, text, and so on will be placed on top of the video.
@Tihiy_Don
it may not possible.
"In Delphi FMX, the MediaControl component is designed to always appear on top of other components and objects on the form, even if it is placed lower in the Z-order (or stacking order) than other components.
This is because the MediaControl component is responsible for rendering video and audio content on the form, and it needs to have priority over other components to ensure that the content is visible and accessible to the user."
@BLACKFIRE69
Can I programmatically scroll the scrollbar to the left or right? with buttons?
on the "Location" page you will see what I would like to do, but I don't know how
@audiofeel
In the provided example, the scrolling functionality of the scrollbox will respond to both the left/right arrow keys (FInstNewProc - Updated) and the two buttons.
.
@BLACKFIRE69
Thanks. in my opinion, it turned out well. what I wanted
https://ibb.co/wYvYdkk
https://ibb.co/wYvYdkk
Hello
It's great that you were able to create this project using Inno setup.
Is this going to be a setup or just an introduction of game?
Another thing you forgot to add is the exit option
BLACKFIRE69
10-05-2023, 22:09
@BLACKFIRE. Hello. FMemo does not work as I would like. Everything is fine, except that when a new archive starts, there is an empty line after Unpacking. I will provide part of the code below.
What am I doing wrong? It will be useful to many, I think.
function ProgressCallback(OverallPct, CurrentPct, DiskTotalMB, DiskExtractedMB: integer; DiskName, CurrentFile, TimeStr1, TimeStr2, TimeStr3, Speed: WideString): longword;
var
S: WideString;
begin
S:= 'Unpacking: ' + CurrentFile;
if Page2Memo.LineStrings(Page2Memo.LineCount - 1) <> S then
begin
Page2Memo.AddLine(S);
end;
Result:= ISArcExCancel;
end;
have you tried this?
function ProgressCallback(OverallPct, CurrentPct, DiskTotalMB, DiskExtractedMB: integer; DiskName, CurrentFile, TimeStr1, TimeStr2, TimeStr3, Speed: WideString): longword;
var
S: WideString;
begin
S:= 'Unpacking: ' + CurrentFile;
if (length(CurrentFile) > 0) and (Page2Memo.LineStrings(Page2Memo.LineCount - 1) <> S) then
begin
Page2Memo.AddLine(S);
end;
Result:= ISArcExCancel;
end;
BLACKFIRE69
10-05-2023, 22:20
FMXInno - News update
1. Currently, my focus is on developing FMXInno-FluentApi version 2.0.
The tests reveal that the most prominent aspect of FluentApi v2.0 is its comprehensive support for Windows, including Windows 7, 8.1, 10, and 11.
2. When dragging the installer in Windows 10 with acrylic effect is on, it causes a lag that has not been resolved with an acceptable solution thus far. In light of this,
FluentApi v2.0 will turn-off the acrylic effect temporarily while moving the installer, leading to a semi-transparent appearance while the installer is being moved.
Tested OS:
* Windows 11 Pro - latest.
* Windows 10 Pro - latest.
* Windows 8.1 Pro - latest.
* Windows 7 Pro - Service Pack 1.
,
BLACKFIRE69
18-05-2023, 04:55
FMXInno - News Updates
* New DiskList Blueprint.
.
Junior53
22-05-2023, 15:47
Thanks for this amazing tool...
Can you give me the source code? because i just want to customize it.
tayeb1992
25-05-2023, 08:51
Thanks for this amazing tool...
Can you give me the source code? because i just want to customize it.
Source Code
ISFMXFW by Jivanewstone (https://github.com/Jivanewstone/ISFMXFW.git)
StyleControls VCL to make the form VCL semi-transparent use acrylic effect
StyleControls VCL (https://www.almdev.com/prods/stylecontrols/stylecontrols.html)
This is VCL Form using acrylic effect to make the form semi-transparent.
https://www.almdev.com/prods/stylecontrols/imgs/sc5_fluent1.png
https://www.almdev.com/prods/stylecontrols/imgs/sc5_fluent2.png
BLACKFIRE69
26-05-2023, 22:31
Thanks for this amazing tool...
Can you give me the source code? because i just want to customize it.
you're all welcome to participate in the development of the FMXInno plugin. to become a member, it's necessary to create at least three new blueprints (in FMXInno, i use the term 'Blueprints' to describe custom components, just like in the Unreal Engine.) for FMXInno that are currently not available in the plugin. meeting this requirement is the only criterion for membership.
obtain the ISFMXFW (https://fileforums.com/attachment.php?attachmentid=26557&d=1586214986) (by Jiva newstone) source code and present your work done with it.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.