FMXInno - Final Release [2024-June-10]
What's new:
* Merged Runtime-Scripts into this build.
* '
FNewINI' updated.
- Now you can create a '
FNewINI' from a
string.
Code:
InIStr := '[SecM]' +#13#10+
'Key1=Val01' +#13#10+
'Key2=Val02' +#13#10+
'' +#13#10+
'[SecM\SecA]' +#13#10+
'KeyA=ValA' +#13#10+
'KeyB=ValB';
ANewINI.FcreateFromString(InIStr);
* Minor bug fixes and improvements.
* And it's recommended to use the latest version of
InnoSetup v6.3.0.
The first post has been updated.
If you expect the following features, let me know:
Code:
1. PDF Viewer (*.pdf).
2. Markdown Viewer (*.md).
3. HTML Viewer (*.html).
---------------------------------------------------------------------------------------------------------------------
@Fak Eid,
* FCombineText/vertical mismatch:
- You have to use the
Offset Y value to fix the vertical mismatch. (FCombineText.
OffsetYText2(DY))
- Also, I removed the properties '
Text1HorzAlign' and '
Text2HorzAlign' from 'FCombineText'.
Example:
Code:
const
c_max0 = 14;
Pttrn = 4; // 1, 2, 3 or 4.
procedure FMXDesigning;
var i, j, k, c_max: Integer;
begin
...
if (c_max0 mod 2) = 0 then c_max := c_max0 else c_max := c_max0 - 1;
{ ACombineText }
for i := 1 to c_max do begin
if i <= (c_max div 2) then begin
case Pttrn of
1: j:=-1*(i-1);
2: j:=-1*((c_max div 2)-i);
3: j:=-1*Round(Abs((((c_max div 2) div 2)+1)-i));
4: if i<=(((c_max div 2) div 2)+1) then j:=-1*(i-1) else j:=-1*((c_max div 2)-i);
else j:=-1*(i-1);
end;
k:=0;
end else begin
case Pttrn of
1: j:=(i-((c_max div 2)+1));
2: j:=(c_max-i);
3: j:=Round(Abs(((c_max+(c_max div 2)+1) div 2)-i));
4: if i<=((c_max+(c_max div 2)+1) div 2) then j:=(i-((c_max div 2)+1)) else j:=(c_max-i);
else j:=(i-((c_max div 2)+1));
end;
k:=20;
end;
ACombineText[i].FCreate(FMXForm.Handle,60,120+((i-1)*15)+k,'The Module Name:','FMXInno.dll',j,False);
ACombineText[i].Text1Setting('Segoe UI', 10, ALBlack, False);
ACombineText[i].Text2Setting('Segoe UI', 13, ALRed, False);
ACombineText[i].Text1ShadowSetting(ALBlack, 0.2, 0.2);
ACombineText[i].Text2ShadowSetting(ALRed, 0.1, 0.6);
ACombineText[i].OffsetYText2(-1.5);
end;
...
end;
---------------------------------------------------------------------------------------------------------------------
@audiofeel,
* 'DrawFrame' has been updated for FFluentStartBrowse and FFluentDirBrowse.
* Setup-exiting issue for 'FOSInfo' with Windows 11 24H2 insider builds.
- In insider builds, Microsoft is pushing hard and has disabled (not deprecated) some useful features by default. This may be the reason for that.
- Once 24H2 is released, I'll update everything to be compatible with the new release.
- I don't release any fixes for beta versions, but for now, I made some modifications in this build which, if detected, may make 'FOSInfo' work with 24H2.
(I deleted the virtual machine with Win11 24H2 installed, so I couldn't test it.)
* MInI updated.
- Previous code examples may not work with the new MInI.exe.
- Now it will accept parameters in any of the following formats:
Code:
1. /Sec=Player || --Sec=Player || /s=Player || -s=Player
2. /Sec="Player" || --Sec="Player" || /s="Player" || -s="Player"
3. /Sec='Player' || --Sec='Player' || /s='Player' || -s='Player'
4. /Sec:Player || --Sec:Player || /s:Player || -s:Player
5. /Sec:"Player" || --Sec:"Player" || /s:"Player" || -s:"Player"
6. /Sec:'Player' || --Sec:'Player' || /s:'Player' || -s:'Player'
7. /Sec Player || --Sec Player || /s Player || -s Player
8. /Sec "Player" || --Sec "Player" || /s "Player" || -s "Player"
9. /Sec 'Player' || --Sec 'Player' || /s 'Player' || -s 'Player'
- Added a new function called 'CalcTotalDiskSizeByte' which calculates the total size of disks in bytes.
For that, the INI file should look like this:
Code:
[Datas]
[Datas\Data1]
File={src}\data1.bf
Size=1245
[Datas\Data2]
File={src}\data2.bf
Size=2356
[Datas\Data3]
File={src}\data3.bf
Size=4578
Code:
USAGE: MInI.exe CalcTotalDiskSizeByte /MainSec=Datas /Key=Size
[Setup]
...
ExtraDiskSpaceRequired={#ReadMInI('CalcTotalDiskSizeByte', '/MainSec=Datas /Key=Size')}
...
- Updated
Example.iss file to retrieve disk sizes and component-disk sizes at compile time.
Now everything is automated, so there's nothing to do manually.
.