Go Back   FileForums > Game Backup > PC Games > PC Games - CD/DVD Conversions > Conversion Tutorials
Register FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
  #541  
Old 30-04-2024, 11:15
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 688
Thanks: 481
Thanked 2,547 Times in 561 Posts
BLACKFIRE69 is on a distinguished road
Arrow

Quote:
Originally Posted by Tihiy_Don View Post
Good afternoon! Some users, on any systems, have a problem when the installer process hangs in the processes and the form does not open. It occurs extremely rarely, in about 5-10 percent of users. I hope this issue has been fixed in this version. I tried to change different types of forms, the result is the same.


users sometimes report this issue, but until now, i couldn't come up with a better solution.

let's dive a little deeper into this. in FMXInno, all the forms (FluentForm, BlankForm, ImageForm, etc.) are based on a single form called 'TFMXFluentF', which is a modified Firemonkey TForm specifically used for FMXInno. i think this could be the main reason for all of this. So, that's how i came up with this new idea.

i've introduced a new form called 'ClassicForm' into FMXInno. so, what is the 'ClassicForm'? Is it another blank form or something else? actually not, it's an original Firemonkey TForm which is exactly the same as the one Mr. Jiva Newstone used in 'ISFMXFW'.

First of all, let's check out the key differences between FMXInno's TFMXFluentF and ISFMXFW's TForm:

Code:
- FMXInno's TFMXFluentF:
  1. This replaces the WizardForm when creating.
  2. It has more control over this.
  3. It can have Fluent effects on this.

- ISFMXFW's TForm:
  1. This is parented to the WizardForm, nothing is replaced.
  2. It has limited controls.
  3. Fluent effects cannot be used on this.

so, how is the 'Classic' form gonna fix this issue? my idea is to have two modes for the same installer as a backup using 'Classic' forms. to do so, we can use command-line parameters in case the setup is unable to run with the 'TFMXFluentF'. we can easily do that using a batch file, and the following simple example will show you how to do that.


Code:
var
  IsClassicMode: Boolean;

function InitializeSetup(): Boolean;
begin
  IsClassicMode := CmdLineParamExist('/Classic');

  FMXInnoInit;
  Result := True;
end;

procedure InitializeWizard();
begin
  EmptyWizardForm(True, 640, 480);

  // Music ...

  FMXDesigning;
  FMXForm.Show;

  if IsClassicMode then
    pTaskbarPreview(True) // or pTaskbarPreviewEx(WizardForm.Handle, True);
  else
    pTaskbarPreviewEx(FMXForm.HandleHWND, True);
end;

procedure FMXDesigning;
begin
  { FMX Form }
  if IsClassicMode then
    FMXForm.FCreateClassicForm(WizardForm.Handle, ALMoneyGreen, '')
  else
    FMXForm.FCreateFluent(WizardForm.Handle, False, False, 0.56, 0);

  FMXForm.SetCursor(ExtractAndLoad('Dark.cur'));
  ...
end;
Code:
Bat File:

@echo off
cd /d "%~dp0"

start "" "_Setup1.exe" /Classic

in this way, you can try the classic mode if the installer is unable to run with modern forms. (because of the classic form, FMXInno may support old OS like Windows 7. i'm not sure because i don't have any virtual machine or bare metal right now to test it out.)

there're some facts you should notice when using the classic forms:

Code:
1. EmptyWizardForm - the 'Buttons' parameter should always be 'True'.
   eg: EmptyWizardForm(True, 640, 480);

2. pTaskbarPreviewEx - the 'hwnd' parameter should always be 'WizardForm.Handle'.
   eg: pTaskbarPreviewEx(WizardForm.Handle, True);

in the attachment, i've included two examples: a simple example and the Modern FitGirl Installer example with both Normal and Classic modes. run the batch files to see the differences. the following screenshot will show you the Modern FitGirl installer in both normal and classic mode. (remember, classic forms are always borderless rectangle forms, and we cannot control the border style.)

also, the first post has been updated with the new update.


.
Attached Images
File Type: png 0.png (133.5 KB, 196 views)

Last edited by BLACKFIRE69; 11-05-2024 at 08:56.
Reply With Quote
The Following 7 Users Say Thank You to BLACKFIRE69 For This Useful Post:
ADMIRAL (01-05-2024), audiofeel (30-04-2024), Ele (30-04-2024), hitman797 (30-04-2024), Jahan1373 (01-05-2024), ScOOt3r (30-04-2024), Tihiy_Don (01-05-2024)
Sponsored Links
  #542  
Old 01-05-2024, 08:11
Tihiy_Don Tihiy_Don is offline
Registered User
 
Join Date: Mar 2023
Location: Los Angeles Lakers
Posts: 43
Thanks: 91
Thanked 26 Times in 18 Posts
Tihiy_Don is on a distinguished road
Thank you - this is exactly what I need, I will try to implement the installer on it and test it on users. Unfortunately, I also could not identify any consistency with this problem, it sometimes occurs on windows 11, 10 and 7. Someone solved this problem by rebooting the operating system, but others did not. I also sent you a message on krinkels related to unpacking the archives, please read it as you have free time.
Reply With Quote
The Following User Says Thank You to Tihiy_Don For This Useful Post:
BLACKFIRE69 (02-05-2024)
  #543  
Old 10-05-2024, 09:28
Fak Eid Fak Eid is offline
Registered User
 
Join Date: Jun 2023
Location: Mars
Posts: 147
Thanks: 98
Thanked 152 Times in 54 Posts
Fak Eid is on a distinguished road
Hi @Blackfire69,

Can you please help me with following additions/workaround to FMX Libraries as I require them on a Project I'm working in:

1. Can we fetch the drive's name (Picture 1)?

2. Functionality to have sharp corners on FCustomFluentWindow?
Edit: Audiofeel helped with this. Thank you
Code:
InstallPage.FCreateBlankForm(FMXForm.HandleHWND, HTMLColorStrToFMXColor('#25282f'), '');

InstallPage.Show;
SetWin11FormCorners(InstallPage.ParentHandleHWND, ctw11Sharp);
3. Functionality to have FImgSlideShow or FFormImgSlide inside FRectangle (not HWND)

4. A variable on ProgressCallback to fetch the total disk size extracted in case of multiple disks. I tried doing (Installation % * Size) div 100 but it is just workaround. (Picture 2 & 3 for reference)

5. In some cases, the CpuUsage.Name gives value seperated by Tabs. Any way to remove that? Like:
Processor: { Tab Space } AMD Ryzen 9

6. How to right align a FLabel/FText? It is not working or an example please.
Edit: Audiofeel helped with this. Thank you
Code:
ALabel.FCreate(PageContent[3].Handle, '57.2 GB');
ALabel.SetBounds(500, 165, 70, 20);
ALabel.FontSetting('{#FontName}', 11, {#SelectedFontColor});
ALabel.FontStyle([fsBold]);
ALabel.TextSetting(False, txTrailing, txCenter);
7. FCombineText: if have 0 Tab space must get the width of Text 1 and Text 2 should start after some space

With the new FMXInno, so many error messages keep popping up. Can you please have a toggle to turn them off or bypass?
Attached Images
File Type: jpg Screenshot 2024-05-10 213705.jpg (15.9 KB, 148 views)
File Type: jpg Screenshot 2024-05-10 214957.jpg (2.7 KB, 145 views)
File Type: jpg Screenshot 2024-05-10 215024.jpg (10.7 KB, 140 views)

Last edited by Fak Eid; 12-05-2024 at 22:52.
Reply With Quote
The Following User Says Thank You to Fak Eid For This Useful Post:
Tihiy_Don (10-05-2024)
  #544  
Old 11-05-2024, 09:01
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 688
Thanks: 481
Thanked 2,547 Times in 561 Posts
BLACKFIRE69 is on a distinguished road
Arrow FMXInno - Updates

FMXInno Cumulative Update - [2024 May 11]

Code:
* Improvements in the code.
* Cleaned up the code a bit and removed duplications.
* More stable.

* This build could be more efficient than the previous one.
  - Ensured compatibility with Windows 11 24H2.

* Added a new class to deal with INI files.
  - Now you can handle even complex INI files more easily.
  - Check the example in the attachment.

* Added a new class for All-in-One array.
  - Now you can have multiple data types in one array.
  - Supports 11+ data types by default.
  - More data types will be added upon request.
  - Easy to manipulate.
  - Check the example in the attachment.

* Updated FLogicalDrives class.
  - Added a new property called 'Disk Name'.
  - Check out the 'Example_LogicalDrives.iss'.

* Updated FXStream.
  - FXPckr can hold InnoSetup's encrypted password.
  - Updated encryption.
  - Fixed minor bugs related to FCreateFXStream.
  - This version doesn't support previous versions.

* Updated FCheckboxTree class.
  - Now, the OnChange events of checkboxes are handled automatically by the FMXInno internally.
  - To override it and have manual OnChange events, you have to call 'OverrideDefaultOnChangeEvent'.
    eg: Pg4ChkbxTree.OverrideDefaultOnChangeEvent;

* Updated WebView2 class.

* Updated license agreement.


================================================== =================

>> FMXInno hangs on Taskbar <<

Now we've evidence that the main cause of this issue is the custom font. Generally, I use the following three functions to install custom fonts into the installer:

Code:
1. InstallFMXFont
2. DeleteFMXFont
3. InvalidateFMXFont
Instead of using these three functions, try the following functions for custom fonts for now:

Code:
1. AddFontResource2
2. RemoveFontResource2
I've updated the examples, so you can check them out to see how to use these functions.

Thanks to @Tihiy_Don for conducting some tests on this.



The first post has been updated.



.
Attached Images
File Type: png _0.png (16.3 KB, 127 views)
File Type: gif 01.gif (23.0 KB, 130 views)
File Type: png 00-b.png (15.4 KB, 129 views)
File Type: png 01-b.png (28.2 KB, 129 views)
File Type: png 02.png (51.3 KB, 125 views)
File Type: png 3-a.png (25.9 KB, 126 views)
File Type: png 3-b.png (25.2 KB, 131 views)

Last edited by BLACKFIRE69; 21-05-2024 at 08:47.
Reply With Quote
The Following 8 Users Say Thank You to BLACKFIRE69 For This Useful Post:
ADMIRAL (12-05-2024), audiofeel (11-05-2024), Cesar82 (11-05-2024), Ele (14-05-2024), Fak Eid (12-05-2024), hitman797 (11-05-2024), ScOOt3r (11-05-2024), Tihiy_Don (11-05-2024)
  #545  
Old 12-05-2024, 12:30
ScOOt3r ScOOt3r is offline
Registered User
 
Join Date: Jun 2019
Location: Canada
Posts: 79
Thanks: 696
Thanked 41 Times in 35 Posts
ScOOt3r is on a distinguished road
Smile

Thanks @Blackfire69 this fixes my issue of the same thing to.. works Great!

ScOOt3r
Reply With Quote
The Following User Says Thank You to ScOOt3r For This Useful Post:
BLACKFIRE69 (13-05-2024)
  #546  
Old 13-05-2024, 00:36
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 688
Thanks: 481
Thanked 2,547 Times in 561 Posts
BLACKFIRE69 is on a distinguished road
Quote:
Originally Posted by Fak Eid View Post
With the new FMXInno, so many error messages keep popping up. Can you please have a toggle to turn them off or bypass?
Quote:
Originally Posted by audiofeel View Post
I think it's better for us to catch errors than for users not to ?

  • The new error handler is a little bit tougher because effective error management is key to reducing runtime errors, especially. This approach forces you to explicitly handle errors and null values, making your code clearer and safer.

  • The new error handler provides more informative error messages tailored to specific situations, making it very convenient to deal with.

  • Why didn't previous versions display these error messages? Because they lacked an error handler altogether, thus allowing any errors to go unnoticed and potentially causing issues.


The error handler will remain active; I won't permit bypassing it.



.

Last edited by BLACKFIRE69; 14-07-2024 at 02:19.
Reply With Quote
The Following 4 Users Say Thank You to BLACKFIRE69 For This Useful Post:
audiofeel (13-05-2024), Ele (14-05-2024), Fak Eid (13-05-2024), ScOOt3r (13-05-2024)
  #547  
Old 13-05-2024, 07:52
Fak Eid Fak Eid is offline
Registered User
 
Join Date: Jun 2023
Location: Mars
Posts: 147
Thanks: 98
Thanked 152 Times in 54 Posts
Fak Eid is on a distinguished road
Quote:
Originally Posted by BLACKFIRE69 View Post
The error handler will remain active; I won't permit bypassing it.
.
No issues. Completely understandable. I'll just rewrite my code again. Can you please implement 4, 5 and 7 (optional, if possible).
Reply With Quote
  #548  
Old 14-05-2024, 03:50
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 688
Thanks: 481
Thanked 2,547 Times in 561 Posts
BLACKFIRE69 is on a distinguished road
Quote:
Originally Posted by Fak Eid View Post
No issues. Completely understandable. I'll just rewrite my code again. Can you please implement 4, 5 and 7 (optional, if possible).


Quote:
Originally Posted by Fak Eid View Post
Hi @Blackfire69,

3. Functionality to have FImgSlideShow or FFormImgSlide inside FRectangle (not HWND)
1. 'FImgSlideshow' requires its parent as 'HWND' because it's originally based on a VCL component.
2. You can create a 'FFormImgSlide' on an 'FRectangle' because its parent's type requires 'TFMXObject'.



Quote:
Originally Posted by Fak Eid View Post

4. A variable on ProgressCallback to fetch the total disk size extracted in case of multiple disks. I tried doing (Installation % * Size) div 100 but it is just workaround. (Picture 2 & 3 for reference)
the callback function already has too many parameters, so i'll add two new functions instead.

Code:
function ISArcExGetTotalSizeMBOfAllDisks: Integer;
  --> Uncompressed (Original) size of all the disks (in MB).

function ISArcExGetExtractedSizeMBOfAllDisks: Integer;
  --> Currently extracted size of all the disks (in MB).
Code:
Example:

function ProgressCallback(...): longword;
var
  S: WideString;
begin
  ...

  // Extra: Titlebar Caption
  S := 'Total Extraction:  ' + IntToStr(ISArcExGetExtractedSizeMBOfAllDisks) + 
       '  MB  /  ' + IntToStr(ISArcExGetTotalSizeMBOfAllDisks) + '  MB';

  WizardForm.Caption := S;

  Result := ISArcExCancel;
end;
Code:
Stats:

data1.bf  ==  914 MB
data2.bf  ==  764 MB
data3.bf  ==  613 MB

Total == 2,291 MB


Quote:
Originally Posted by Fak Eid View Post

5. In some cases, the CpuUsage.Name gives value seperated by Tabs. Any way to remove that? Like:
Processor: { Tab Space } AMD Ryzen 9
Code:
  Something := Trim(CpuUsage.Name);


Quote:
Originally Posted by Fak Eid View Post

7. FCombineText: if have 0 Tab space must get the width of Text 1 and Text 2 should start after some space
To use spaces instead of tab spaces, use a 'Negative' value for 'Tabs'.
  • Positive values for Tabs:
    • 1 = One Tab
    • 2 = Two Tabs
    • 3 = Three Tabs
    • etc.

  • Negative values for Tabs:
    • -1 = One Space
    • -2 = Two Spaces
    • -3 = Three Spaces
    • etc.


Code:
{ ACombineText }
ACombineText.FCreate(FMXForm.Handle, 50, 80, 'The Module Name:', 'FMXInno.dll', -3, False);

ACombineText.Text1Setting('Segoe UI SemiBold', 16, ALBlack, False);
ACombineText.Text2Setting('Segoe UI', 16, ALRed, False);
ACombineText.Text1ShadowSetting(ALBlack, 0.2, 0.2);
ACombineText.Text2ShadowSetting(ALRed, 0.1, 0.6);


.

Last edited by BLACKFIRE69; 14-07-2024 at 02:20.
Reply With Quote
The Following 4 Users Say Thank You to BLACKFIRE69 For This Useful Post:
audiofeel (14-05-2024), Ele (14-05-2024), Fak Eid (14-05-2024), ScOOt3r (14-05-2024)
  #549  
Old 16-05-2024, 08:29
Fak Eid Fak Eid is offline
Registered User
 
Join Date: Jun 2023
Location: Mars
Posts: 147
Thanks: 98
Thanked 152 Times in 54 Posts
Fak Eid is on a distinguished road
Thank you for the enhancements. But there seems to be a bug.
When trying to open this FCustomFluentWindow for the first time, I'm able to see a header on top of it which goes away after dragging.

It is only happening for the first time and for this FCustomFluentWindow. For other it is working as expected. Can you let me know what could be the issue here?
Attached Images
File Type: gif Recording 2024-05-16 205356.gif (753.8 KB, 152 views)
Reply With Quote
The Following 2 Users Say Thank You to Fak Eid For This Useful Post:
Behnam2018 (19-05-2024), Jahan1373 (17-05-2024)
  #550  
Old 16-05-2024, 09:00
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 688
Thanks: 481
Thanked 2,547 Times in 561 Posts
BLACKFIRE69 is on a distinguished road
Quote:
Originally Posted by Fak Eid View Post
Thank you for the enhancements. But there seems to be a bug.
When trying to open this FCustomFluentWindow for the first time, I'm able to see a header on top of it which goes away after dragging.

It is only happening for the first time and for this FCustomFluentWindow. For other it is working as expected. Can you let me know what could be the issue here?


Code:
SetWin11FormCorners(CusForm.ParentHandleHWND, ctw11Sharp);
this could be the cause of that.
Reply With Quote
The Following 3 Users Say Thank You to BLACKFIRE69 For This Useful Post:
audiofeel (16-05-2024), Behnam2018 (19-05-2024), hitman797 (16-05-2024)
  #551  
Old 17-05-2024, 01:21
R6S R6S is offline
Registered User
 
Join Date: Apr 2024
Location: United States
Posts: 2
Thanks: 0
Thanked 1 Time in 1 Post
R6S is on a distinguished road
Quote:
Originally Posted by xNoah View Post
Hello upon testing this, it doesn't seem to work. I am still have the same issue.
link can downloud the best existing compression tool that works with WPI_CorePack
Reply With Quote
The Following User Says Thank You to R6S For This Useful Post:
Behnam2018 (19-05-2024)
  #552  
Old 17-05-2024, 01:24
Fak Eid Fak Eid is offline
Registered User
 
Join Date: Jun 2023
Location: Mars
Posts: 147
Thanks: 98
Thanked 152 Times in 54 Posts
Fak Eid is on a distinguished road
Quote:
Originally Posted by BLACKFIRE69 View Post
Code:
SetWin11FormCorners(CusForm.ParentHandleHWND, ctw11Sharp);
this could be the cause of that.
Commented that line of code. Now the form comes in round corners, but it is still happening. Any other fix?
Attached Images
File Type: gif FaK.gif (788.3 KB, 141 views)

Last edited by Fak Eid; 17-05-2024 at 01:28.
Reply With Quote
The Following User Says Thank You to Fak Eid For This Useful Post:
Behnam2018 (19-05-2024)
  #553  
Old 17-05-2024, 02:16
Fak Eid Fak Eid is offline
Registered User
 
Join Date: Jun 2023
Location: Mars
Posts: 147
Thanks: 98
Thanked 152 Times in 54 Posts
Fak Eid is on a distinguished road
Quote:
Originally Posted by audiofeel View Post
is the newest version of the dll from May 11th in use? and do you use a style file in your work? if so, then give it up and try again.
I use the 14th May version from the link Blackfire shared above, with my enhancements. Yes, I do use a style file for FMemo, FEdit, FCheckbox and in future for FSwitch. I tested without style.bin file but still the issue persists.

The fact that it is only happening for InstallPage: FCustomFluentWindow only for the first time and not again, and not happening for ExitPage and SettingsPage confuses me.

Last edited by Fak Eid; 17-05-2024 at 02:26.
Reply With Quote
The Following User Says Thank You to Fak Eid For This Useful Post:
Behnam2018 (19-05-2024)
  #554  
Old 17-05-2024, 04:14
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 688
Thanks: 481
Thanked 2,547 Times in 561 Posts
BLACKFIRE69 is on a distinguished road
Quote:
Originally Posted by Fak Eid View Post
I use the 14th May version from the link Blackfire shared above, with my enhancements. Yes, I do use a style file for FMemo, FEdit, FCheckbox and in future for FSwitch. I tested without style.bin file but still the issue persists.

The fact that it is only happening for InstallPage: FCustomFluentWindow only for the first time and not again, and not happening for ExitPage and SettingsPage confuses me.

i can't easily explain why this is happening, and i can't recreate the situation to test it. but anyway,

FMXInno - [2024-May-17].rar
Reply With Quote
The Following 5 Users Say Thank You to BLACKFIRE69 For This Useful Post:
audiofeel (18-05-2024), Behnam2018 (19-05-2024), Fak Eid (18-05-2024), hitman797 (17-05-2024), ScOOt3r (17-05-2024)
  #555  
Old 18-05-2024, 03:00
Fak Eid Fak Eid is offline
Registered User
 
Join Date: Jun 2023
Location: Mars
Posts: 147
Thanks: 98
Thanked 152 Times in 54 Posts
Fak Eid is on a distinguished road
Quote:
Originally Posted by BLACKFIRE69 View Post
i can't easily explain why this is happening, and i can't recreate the situation to test it. but anyway,
17th May version has some more issues.
But I figured, in 14th May version. This anomaly is only happening in InstallPage @1080p 125% resolution only which is FCustomFluentWindow with both FCreateBlankForm only(not any other FCreate functions).

For the rest other resolutions, it is working fine. Sharing you files to look and please let me know if I'm doing something wrong as well. I'll try correcting it from next time as well. [This is just dummy code set]

Required Files in 'Game' folder.
FMX files in Files/Modules
Section to review: Search by keyword 'InstallPage'

PS: Please also add GetSelectedDiskName (to get the name of the selected drive) on FDiskList.
Attached Files
File Type: rar Steam Installer.rar (19.39 MB, 56 views)
File Type: rar Setup.rar (19.00 MB, 40 views)
Reply With Quote
The Following 2 Users Say Thank You to Fak Eid For This Useful Post:
BLACKFIRE69 (18-05-2024), Jahan1373 (18-05-2024)
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Windows Fluent Effects Standalone API - InnoSetup / VCL / FXM BLACKFIRE69 Conversion Tutorials 0 15-11-2023 17:35
Windows Phone Installer similar to razor12911's original design? Kitsune1982 Conversion Tutorials 0 02-07-2020 13:04
INDEX - Conversion Tutorial Index Razor12911 Conversion Tutorials 5 11-06-2020 02:05
Frequently Asked Questions Joe Forster/STA PC Games - Frequently Asked Questions 0 29-11-2005 09:48



All times are GMT -7. The time now is 15:13.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com