Go Back   FileForums > Game Backup > PC Games > PC Games - CD/DVD Conversions > Conversion Tutorials

Reply
 
Thread Tools Display Modes
  #856  
Old 17-08-2024, 00:21
Fak Eid Fak Eid is offline
Registered User
 
Join Date: Jun 2023
Location: Mars
Posts: 145
Thanks: 93
Thanked 138 Times in 53 Posts
Fak Eid is on a distinguished road
I wouldn't mind.. It is always more convenient to customize. I already have some ideas. My new work can wait to have it. Can you also include these in the update too?
Reply With Quote
Sponsored Links
  #857  
Old 17-08-2024, 02:00
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 672
Thanks: 475
Thanked 2,411 Times in 546 Posts
BLACKFIRE69 is on a distinguished road
Quote:
Originally Posted by Fak Eid View Post
Can you also include these in the update too?

FireMonkey is a different story.

while working with FireMonkey (FMX), especially when integrating with native components like WebView2, there're certain limitations due to how FMX and the underlying platform handle windows and rendering. FMX is designed to be cross-platform, with a focus on vector-based, hardware-accelerated graphics, while traditional controls like WebView2 rely on native Windows-specific window handles (HWND) to be embedded.

to embed WebView2 within a FireMonkey form, we use 'FMXForm.Handle', which provides the necessary window handle (HWND) for WebView2 to render its content. this works because a form in FMX has an associated native window, and we can retrieve its handle.

however, FMX objects like 'TRectangle', 'TPanel', and other 'TFMXObject' descendants don't have an underlying native window (HWND). they're drawn directly onto the GPU and managed by the FireMonkey rendering engine, which makes them platform-agnostic but without any native window handle. since WebView2 requires an actual window handle to render its content, it isn't possible to use a 'TFMXObject' like 'TRectangle' as the parent window for WebView2.

in essence, FireMonkey objects and native components like WebView2 operate in fundamentally different ways. while you can embed WebView2 inside a FireMonkey form by setting the parent window to the form handle, using a 'TFMXObject' as a parent isn't feasible due to the lack of a native window handle in FireMonkey controls.


not only the ones you mentioned, but i also want to add more. however, it isn’t possible due to compatibility limitations.


.
Attached Images
File Type: png 0.png (5.8 KB, 328 views)
Reply With Quote
The Following 4 Users Say Thank You to BLACKFIRE69 For This Useful Post:
audiofeel (17-08-2024), Fak Eid (19-08-2024), hitman797 (17-08-2024), ScOOt3r (17-08-2024)
  #858  
Old 18-08-2024, 14:17
audiofeel's Avatar
audiofeel audiofeel is offline
Registered User
 
Join Date: Jan 2013
Location: Russia
Posts: 372
Thanks: 446
Thanked 864 Times in 312 Posts
audiofeel is on a distinguished road
FCustomMemo

Quote:
Originally Posted by BLACKFIRE69 View Post
FMXInno - Updates
* Let me know if you would like to have the FCustomMemo in future updates. it's an advanced Memo component i used previously in the Avalon Installer, and it originally comes with FMXInno v1.0.0.3.
Features:
.
I'm joining you
Reply With Quote
  #859  
Old 18-08-2024, 14:20
audiofeel's Avatar
audiofeel audiofeel is offline
Registered User
 
Join Date: Jan 2013
Location: Russia
Posts: 372
Thanks: 446
Thanked 864 Times in 312 Posts
audiofeel is on a distinguished road
Exclamation auto-change the theme from dark to light in FCustomFluentWindow

Is it possible to auto-change the theme from dark to light in FCustomFluentWindow?
FMXInno - Auto Dark-Light Mode
Reply With Quote
  #860  
Old 19-08-2024, 11:05
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 672
Thanks: 475
Thanked 2,411 Times in 546 Posts
BLACKFIRE69 is on a distinguished road
Quote:
@BLACKFIRE69
Can you help me with ini? you need to install files directly from the installer and not from the archives

Code:
[Components]
Name: "program1"; Description: "Program 1"
Name: "program2"; Description: "Program 2"
Name: "program3"; Description: "Program 3"
Name: "program4"; Description: "Program 4"
Name: "program5"; Description: "Program 5"

[Files]
Source: "program1.exe"; DestDir: "{app}"; Components: program1
Source: "program2.exe"; DestDir: "{app}"; Components: program2
Source: "program3.exe"; DestDir: "{app}"; Components: program3
Source: "program4.exe"; DestDir: "{app}"; Components: program4
Source: "program5.exe"; DestDir: "{app}"; Components: program5

@audiofeel,

i've provided two examples below: one uses regular Checkboxes, and the other uses CheckboxTree. you can use them as a reference.


Note:

i discovered unexpected behavior in MInI. it's a generic issue, not an error on my part. however, i applied a hotfix for it. you can download MInI and FMXInno [June-10] below.


.
Attached Images
File Type: png _0.png (10.2 KB, 299 views)
File Type: png 0.png (7.6 KB, 297 views)
File Type: png 1.png (12.9 KB, 282 views)
File Type: png 2.png (15.1 KB, 281 views)
File Type: png 4.png (20.9 KB, 290 views)
File Type: png 5.png (21.7 KB, 291 views)
File Type: png 6.png (76.6 KB, 289 views)
File Type: png 7.png (70.3 KB, 292 views)
Attached Files
File Type: rar FMXInno [June-10] [Hotfix] Only.rar (5.09 MB, 29 views)
File Type: rar MInI - [2024-08-19].rar (330.3 KB, 18 views)
File Type: rar FMXInno + MInI - Examples.rar (5.74 MB, 35 views)
Reply With Quote
The Following 8 Users Say Thank You to BLACKFIRE69 For This Useful Post:
almjedgroup (23-08-2024), audiofeel (19-08-2024), Behnam2018 (20-08-2024), Gehrman (24-09-2024), hitman797 (20-08-2024), Jahan1373 (21-08-2024), Qirashi (14-09-2024), ScOOt3r (19-08-2024)
  #861  
Old 27-08-2024, 11:53
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 672
Thanks: 475
Thanked 2,411 Times in 546 Posts
BLACKFIRE69 is on a distinguished road
Arrow FMXInno - Updates

[ FMXInno Cumulative Update - 2024/Aug/28 ]


--- Changelog

Code:
* Added Custom Blueprints:
  1. 'FAdvancedMemo'
  2. 'FAdvancedShape'
  3. 'FAdvancedNotification'

* Deprecated:
  - 'pWinNotification' has been removed.
  - The example 'Example_WinNotifications.iss' has been removed.

* Enhancements:
  - Auto-Dark Mode: Added support for auto-dark mode in 'FCustomFluentWindow'.
  - Updated Components:
    - Updated all classes and custom blueprints.
    - Updated gradient color settings.
    - Updated 'MInI'.
    - Updated 'xBass' plugin to the latest version.
    - Updated 'WebView2' to the latest version.

  - Error Handling: Improved error handling and messages.
  - FMXInnoShutdown Function: Enhanced for a smoother exit.
  - FMXInnoShutDownUn: Now defined by default in 'FMXInnoHandle.iss'. 
    You need to remove it from your scripts.

* Fixes:
  - Fixed null pointer access errors.
  - Fixed runtime errors reported by users and discovered during debugging.
  - Fixed memory deallocation issues at exit.

* Future Updates:
  - Advanced 3D objects and 3D animations are planned for future releases.

* Miscellaneous:
  - Various other improvements and bug fixes.

Advanced Notification:

Quote:
* Refer to the attached examples for guidance on creating notifications with items, interacting with them, and updating them in real-time.

* The code snippet is provided below:
Code:
procedure CsNotifyOnActivated(Sender: INotification; nArguments: WideString; nUserInput: INotificationUserInput);
begin
  MemLog.Clear;

  if Sender = csNotification1.Handle then
  begin
    case nArguments of
      'send'    : MemLog.AddLine('* Send button clicked!'#13#10);
      'ok'      : MemLog.AddLine('* Ok button clicked!'#13#10);
      'cancel'  : MemLog.AddLine('* Cancel button clicked!'#13#10);
      ''        : MemLog.AddLine('* Clicked on the content!'#13#10);
      else
        MemLog.AddLine('Args:'#9 + nArguments + #13#10);
    end;

    // Textbox input
    if csNotifyBuilder1.IsUserInputValueExist(nUserInput, 'txtbx_id1') then   
      MemLog.AddLine('> Input Text:'#9#9'[' + csNotifyBuilder1.GetUserInputValueStr(nUserInput, 'txtbx_id1') + ']');

    // Selectbox input
    if csNotifyBuilder1.IsUserInputValueExist(nUserInput, 'selbx_id1') then   
      MemLog.AddLine('> Shutdown Timer:'#9'[' + csNotifyBuilder1.GetUserInputValueStr(nUserInput, 'selbx_id1') + ' Minutes]');
  end;
end;
Code:
  // Content
  csNotifyContent1.FCreate;
  //csNotifyContent1.Scenario(nsIncomingCall);
  csNotifyContent1.UseButtonStyle(True);                          // For Ok, Cancel button style.
  csNotifyContent1.Duration(ndLong);                              // Duration: [Short == 2 sec | Default == 5 sec | Long == 25 sec]
  csNotifyContent1.AddInputTextBox(csContentTextBox1.Handle);     // Textbox
  csNotifyContent1.AddSelectionBox(csContentSelectBox1.Handle);   // Selectbox
  csNotifyContent1.AddButton(csContentBtnSend.Handle);            // Send Button
  csNotifyContent1.AddButton(csContentBtnCancel.Handle);          // Cancel Button
  csNotifyContent1.AddButton(csContentBtnOk.Handle);              // Ok Button

  csNotifyContent1.AddImage(csContentHeaderImage.Handle);         // Header Image
  csNotifyContent1.AddImage(csContentAppImage.Handle);            // App Image
  csNotifyContent1.AddText(csContentCaption1.Handle);             // Caption
  csNotifyContent1.AddText(csContentDesc1.Handle);                // Description
  
  csNotifyContent1.AddAudio(csContentAudio.Handle);               // Audio

    // Notification
  csNotification1.FCreate(csNotifyContent1.Handle, csNotifyBuilder1.Handle);

  if not csNotification1.ParamIsValueExists('my_desc') then
    csNotification1.ParamSetValue('my_desc', sDesc);

  csNotification1.OnActivated(@CsNotifyOnActivated);  // OnActivate
  csNotification1.OnDismissed(@CsNotifyOnDismissed);  // OnDismissed
  csNotification1.OnFailed(@CsNotifyOnFailed);        // OnFailed

    // Show Notification
  csNotifyBuilder1.ShowNotification(csNotification1.Handle);

Advanced Shapes:

Quote:
* To create advanced graphic shapes, you'll need the corresponding SVG data for the shapes you wish to design. There're various methods to obtain SVG data, but i won't go into detail on that here.
* Ensure that you adjust and resize the SVG data to match your intended dimensions, as advanced shapes do not automatically handle this for you.
* You can use the simple tool 'TxtToDelphiStr.exe' to easily convert SVG data into Delphi/Inno strings.

* For more information on SVG data, refer to the following links:

1. w3.org/SVG
2. css-tricks.com/SVG-Syntax

* Below is a code snippet:
Code:
  { AdvancedShape }
  csShapeData := 'M 249.2615 123.1455' +#13#10+
    'c 18.9705 -33.9615 -4.257 -74.7495 -42.94 -78.602 l -14.116 -1.4065' +#13#10+
    'c -10.295 -1.0265 -19.491 -5.487 -27.1315 -14.064' +#13#10+
    'c -26.5925 -29.8475 -76.1095 -22.477 -92.41 13.382' +#13#10+
    'c -3.97 8.733 -11.149 15.719 -20.214 19.672 l -19.8865 8.67' +#13#10+
    'c -31.6995 13.82 -42.447 52.167 -22.424 79.5915 l 12.618 17.2815' +#13#10+
    'c 2.7405 3.754 4.741 7.9035 5.9465 12.333 l 6.266 23.0365' +#13#10+
    'c 8.5835 31.5575 44.3775 48.61 75.6205 35.3465 l 2.675 -1.1355' +#13#10+
    'c 7.9505 -3.3755 16.996 -4.1935 25.466 -2.308 l 41.024 9.1345' +#13#10+
    'c 39.9665 8.899 75.195 -25.787 66.27 -63.9125 l -5.192 -22.1755' +#13#10+
    'c -2.1015 -8.9765 -0.762 -18.39 3.772 -26.506 l 4.656 -8.3375 z';

  csShape.FCreate(FMXForm.Handle);
  csShape.SetBounds(65, 80, 265, 260);
  csShape.Data_Str(csShapeData);
  csShape.Data_WrapMode(spwmOriginal);
  csShape.FillGradient($FF69EACB, $FF6654F1, gsLinear);


The first post has been updated—check it out!



.
Attached Images
File Type: png a1.png (73.9 KB, 260 views)
File Type: png a2.png (75.1 KB, 263 views)
File Type: png a3.png (70.6 KB, 259 views)
File Type: png a4.png (69.9 KB, 252 views)
File Type: png a5.png (68.5 KB, 257 views)
File Type: png b1.png (52.3 KB, 263 views)
File Type: png c1.png (77.0 KB, 260 views)
File Type: png c2.png (58.3 KB, 256 views)
File Type: png c3.png (62.8 KB, 260 views)
File Type: png c4.png (43.0 KB, 259 views)
File Type: gif c5.gif (1.46 MB, 268 views)
File Type: gif c6.gif (68.6 KB, 262 views)
Attached Files
File Type: rar FMXInno - New Examples [Aug-28].rar (10.42 MB, 60 views)
File Type: rar Verify FMXInno [2024-Aug-28] RAR Archive.rar (146.0 KB, 31 views)
Reply With Quote
The Following 11 Users Say Thank You to BLACKFIRE69 For This Useful Post:
audiofeel (27-08-2024), Behnam2018 (27-08-2024), Ele (27-08-2024), Fak Eid (28-08-2024), hitman797 (30-08-2024), Jahan1373 (28-08-2024), Lord.Freddy (27-08-2024), observer23232 (27-08-2024), ScOOt3r (27-08-2024), Tihiy_Don (29-08-2024), Wanterlude (11-09-2024)
  #862  
Old 03-09-2024, 14:01
Fak Eid Fak Eid is offline
Registered User
 
Join Date: Jun 2023
Location: Mars
Posts: 145
Thanks: 93
Thanked 138 Times in 53 Posts
Fak Eid is on a distinguished road
Urgent Upgrades

When trying to create an .ini file for setting config of my installer using:
INI_Maker: FNewINI;
INI_Maker.FCreate(ExpandConstant('{src}\Game\Insta ller.ini'));

it is creating the file in UTF-8 with BOM which is messing with Inno Compiler and not producing the desired result. How can I have FNewINI to create the file in UTF-8 format.

In case when the main section say [Execs] doesn't exists and we create the SubSection using FNewINI:
Code:
INI_Maker.WriteSubString('Execs', 'AppExe'+IntToStr(j), 'Name', ExeEdit[i].GetText);
INI_Maker.WriteSubString('Execs', 'AppExe'+IntToStr(j), 'Filepath', ExeEdit[i+1].GetText);
INI_Maker.WriteSubString('Execs', 'AppExe'+IntToStr(j), 'Parameters', ExeEdit[i+2].GetText);
It does not create the main section.
Desired output should be:
Code:
[Execs]
[Execs\AppExe1]
Name=Horizon Forbidden West
Filepath=HorizonForbiddenWest.exe
Parameters=--fullscreen
It is like this instead:
Code:
[Execs\AppExe1]
Name=Horizon Forbidden West
Filepath=HorizonForbiddenWest.exe
Parameters=--fullscreen
FCombineText
No Mouse Actions like: OnMouseEnter, OnMouseLeave, OnClick are working
Reply With Quote
  #863  
Old 04-09-2024, 00:03
Tihiy_Don Tihiy_Don is offline
Registered User
 
Join Date: Mar 2023
Location: Los Angeles Lakers
Posts: 42
Thanks: 89
Thanked 23 Times in 16 Posts
Tihiy_Don is on a distinguished road
Quote:
- 'pWinNotification' has been removed.
Very sorry. I've just used Windows-style notifications in my latest releases.
Reply With Quote
The Following User Says Thank You to Tihiy_Don For This Useful Post:
Qirashi (11-09-2024)
  #864  
Old 10-09-2024, 22:02
Tihiy_Don Tihiy_Don is offline
Registered User
 
Join Date: Mar 2023
Location: Los Angeles Lakers
Posts: 42
Thanks: 89
Thanked 23 Times in 16 Posts
Tihiy_Don is on a distinguished road
Please add methods:
onMouseEnter(Event: TNotifyEvent); procedure onMouseLeave(Event: TNotifyEvent);

For the checkboxtree component (checkbox, radiobutton).

Last edited by Tihiy_Don; 10-09-2024 at 22:10.
Reply With Quote
The Following User Says Thank You to Tihiy_Don For This Useful Post:
Qirashi (11-09-2024)
  #865  
Old 12-09-2024, 02:38
Qirashi Qirashi is offline
Registered User
 
Join Date: Sep 2024
Location: Russia
Posts: 2
Thanks: 5
Thanked 1 Time in 1 Post
Qirashi is on a distinguished road
There is a problem with the RemoveObject2 method for FCombobox. It does not work properly and does not delete the specified element.
Reply With Quote
  #866  
Old 16-09-2024, 13:06
Dario06's Avatar
Dario06 Dario06 is offline
Registered User
 
Join Date: Sep 2024
Location: Betelgeuse
Posts: 37
Thanks: 10
Thanked 20 Times in 13 Posts
Dario06 is on a distinguished road
Hi everyone
hi BLACKFIRE69, I want to remove all the button mods and leave them original anthem, browse, back, next, cancel and pause, can we do that?
Attached Files
File Type: zip 1_Original_Inno_Example-mod.zip (3.9 KB, 8 views)
Reply With Quote
The Following User Says Thank You to Dario06 For This Useful Post:
Behnam2018 (29-09-2024)
  #867  
Old 27-10-2024, 07:19
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 672
Thanks: 475
Thanked 2,411 Times in 546 Posts
BLACKFIRE69 is on a distinguished road
Arrow FMXInno - Update

FMXInno Quality Update - [October 27, 2024]


Code:
1. Updated `FNewINI` class and `MINI.exe`  
   - Now reads and saves INI files in UTF-8 without BOM.

2. Updated `FCheckboxTree` class  
   - Added new properties; you may need to adjust your current scripts.

3. Compatibility with the Latest Windows Version  
   - Optimized for Windows 11 24H2.
   - Compiled in RadStudio 12.2 (latest update).

4. Font Functions for Windows 11 24H2  
   * The following functions are incompatible with 24H2:
     - `InstallFMXFont`
     - `InvalidateFMXFont`
     - `DeleteFMXFont`

   * Use these alternative functions:
     - `AddFontResource2`
     - `RemoveFontResource2`

5. New Color Picker App Added

6. General Improvements and Bug Fixes.

- For Members -

Code:
1. Source Code Reorganization  
  - Now uses unit scope names.
  - Various units have been renamed for clarity.
  
2. The latest source code will be available in the coming days for members.

.
Attached Images
File Type: png 0.png (61.4 KB, 104 views)
File Type: png 1.png (32.7 KB, 105 views)
File Type: png 2.png (51.0 KB, 102 views)
Attached Files
File Type: rar FMXInno Update - [2024-Oct-27].rar (7.46 MB, 56 views)
Reply With Quote
The Following 11 Users Say Thank You to BLACKFIRE69 For This Useful Post:
ADMIRAL (27-10-2024), audiofeel (27-10-2024), Behnam2018 (07-11-2024), crachlow (13-11-2024), Dario06 (27-10-2024), Ele (28-10-2024), hitman797 (31-10-2024), Lord.Freddy (28-10-2024), Qirashi (29-10-2024), ScOOt3r (27-10-2024), Tihiy_Don (27-10-2024)
  #868  
Old 18-11-2024, 14:20
Qirashi Qirashi is offline
Registered User
 
Join Date: Sep 2024
Location: Russia
Posts: 2
Thanks: 5
Thanked 1 Time in 1 Post
Qirashi is on a distinguished road


I had a question and a suggestion on "FCheckboxTree". I hope the difficulties of translation allow me to get my point across.

When using FCheckboxTree, the logic of the Checkbox is slightly different than in the original inno setup. In the original, when selecting 1 of the components in the Checkbox tree, all those that are somehow related to the selected one are selected. I hope you understand me. In FMX, this is implemented a little differently. They are not always marked, which looks strange from the 1st side. It would be cool to see similar logic to the original inno setup.

Even in FCheckboxTree, you cannot select and remove Radiobutton, they are in FCheckboxTree, but it is problematic to combine them with regular Checkboxes.
Reply With Quote
The Following User Says Thank You to Qirashi For This Useful Post:
Tihiy_Don (21-11-2024)
Reply

Thread Tools
Display Modes

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 18:35
Windows Phone Installer similar to razor12911's original design? Kitsune1982 Conversion Tutorials 0 02-07-2020 14:04
INDEX - Conversion Tutorial Index Razor12911 Conversion Tutorials 5 11-06-2020 03:05
Frequently Asked Questions Joe Forster/STA PC Games - Frequently Asked Questions 0 29-11-2005 10:48



All times are GMT -7. The time now is 19:50.


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