FileForums

FileForums (https://fileforums.com/index.php)
-   Conversion Tutorials (https://fileforums.com/forumdisplay.php?f=55)
-   -   FMXInno - Windows Fluent Design Installer UI for Inno (https://fileforums.com/showthread.php?t=104852)

hitman797 30-12-2022 14:37

1 Attachment(s)
Quote:

Originally Posted by audiofeel (Post 499614)
Thanks. But I'm used to doing it through "Fluent Icons" = https://learn.microsoft.com/en-us/wi...ent-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

3 Attachment(s)
Quote:

Originally Posted by audiofeel (Post 499616)
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

1 Attachment(s)
Quote:

Originally Posted by audiofeel (Post 499618)
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.
Code:

    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

2 Attachment(s)
Quote:

Originally Posted by audiofeel (Post 499695)
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.
Code:

VAR
  DiskUsageArc: FColorArc;
  DiskUsage: FDiskUsage;
  RamUsage, CPUUsage: FModernArc2;
  CPU: FCpuUsage;
  RAM: FRamUsage;
  Timer1: FTimer;

Code:

Page Num
  DiskUsageArc:= InitColorArcHandle;
  DiskUsage:= InitDiskUsage;
  RamUsage := InitModernArc2Handle;
  CPUUsage := InitModernArc2Handle;
  CPU := InitCpuUsage;
  RAM := InitRamUsage;
  Timer1 := InitTimerHandle;

Code:

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;

Code:

  Timer1.FCreate(Page4.Handle, True);
  Timer1.Interval(750);
  Timer1.OnTimer(@Timer1OnTimer);

Code:

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

Quote:

Originally Posted by BLACKFIRE69 (Post 499702)
@hitman797

EndAngle value is not correct. ;)

RAM.RamLoad = 49
C_ANGLE = 40
RoundArc = 320
StartAngle = 130
EndAngle = 14320

BLACKFIRE69 07-01-2023 03:48

Quote:

Originally Posted by hitman797 (Post 499704)
RAM.RamLoad = 49
C_ANGLE = 40
RoundArc = 320
StartAngle = 130
EndAngle = 14320

is this look like 49%?

,

hitman797 07-01-2023 04:16

2 Attachment(s)
Quote:

Originally Posted by BLACKFIRE69 (Post 499705)
is this look like 49%?

,

ok pro, I fix the problem.

Code:

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

Quote:

Originally Posted by hitman797 (Post 499706)
ok pro, I fix the problem.

Code:

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.

Code:

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

1 Attachment(s)
Quote:

Originally Posted by BLACKFIRE69 (Post 499708)
something still doesn't seem right....

for 0% :

.

Code:

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

Quote:

Originally Posted by audiofeel (Post 499718)
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

FMXInno - Updates
 
Code:

What's new:

1. Added full control of Taskbar.

.

BLACKFIRE69 12-01-2023 13:32

FMXInno - Updates
 
Code:

What's new:

1. Added more FireMonkey Image Effects.

Link:  More Details

Quote:

  • 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

Quote:

-- 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

FMXInno - Updates
 
Code:

What's new:

1. Added more animations.
    - ColorKey Animation
    - FloatKey Animation

2. Updated Other Animation Classes.

3. Added the following properties to objects.

Quote:

  • 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

FMXInno - Updates
 
Quote:

Originally Posted by BLACKFIRE69 (Post 499739)
Code:

What's new:

1. Added full control of Taskbar.


Code:

1. Added an extra option (Taskbar Flash).
  - procedure pTaskBarFlash(FValue: Boolean);


BLACKFIRE69 15-01-2023 02:22

Quote:

Originally Posted by audiofeel (Post 499792)
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/attachmen...2826/image.png

Is this an FMXInno problem? Thanks!

BLACKFIRE69 15-01-2023 10:52

Quote:

Originally Posted by Masquerade (Post 499807)
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/attachmen...2826/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

2 Attachment(s)
Quote:

Originally Posted by audiofeel (Post 499832)
Sorry... found a typo
Code:

  // 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 -
Code:

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.
Code:

procedure Visible(FVisible: Boolean);

BLACKFIRE69 16-01-2023 12:19

FMXInno - Updates
 
Code:

What's new:

1. Added full control of SystemTray icon.

Quote:

{ 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



Quote:

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

2 Attachment(s)
Quote:

Originally Posted by audiofeel (Post 499840)
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"
Code:

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

Quote:

Originally Posted by audiofeel (Post 499840)
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"
Code:

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
 
FMXInno - Dev


Code:

* 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

2 Attachment(s)
Quote:

Originally Posted by BLACKFIRE69 (Post 499876)
FMXInno - Dev


Code:

* 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.

Code:

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

Code:

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';


Cesar82 19-01-2023 08:58

Quote:

Originally Posted by hitman797 (Post 499884)
hi, BLACKFIRE69.
can you include this in FMXInno v1.0.0.3.

Code:

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

Code:

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.

hitman797 19-01-2023 09:33

FloatAnimation
Code:

var
    Layout1: TLayout;
    Rectangle1: TRectangle;
    FloatAnimation1: TFloatAnimation;
    FloatAnimation2: TFloatAnimation;

Code:

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;

Code:

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

hitman797 19-01-2023 15:04

1 Attachment(s)
Metro Installer

Metro Installer

ffmla 21-01-2023 07:48

Quote:

Originally Posted by audiofeel (Post 499912)
Another example of the work of "FMXInno". The choice of additional components, the choice of voice acting, and so on little things. hitman797 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

1 Attachment(s)
Metro Installer

Metro Installer

hitman797 22-01-2023 16:22

1 Attachment(s)
SlideShow

Code:

    TabControl1: TTabControl;
    TabItem1: TTabItem;
    Rectangle1: TRectangle;
    ActionList1: TActionList;
    ChangeTabAction1: TChangeTabAction;
    NextTabAction1: TNextTabAction;
    PreviousTabAction1: TPreviousTabAction;
    Timer1: TTimer;

SlideShow

Behnam2018 27-01-2023 19:30

Error
 
1 Attachment(s)
cannot import dll utf8 kernel32.dll

Behnam2018 27-01-2023 21:44

thanks audiofeel

ADMIRAL 10-02-2023 10:55

Quote:

Originally Posted by audiofeel (Post 500142)
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

ADMIRAL 11-02-2023 20:00

Quote:

Originally Posted by audiofeel (Post 500156)
[SPOILER]
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?
[/SPOILER]

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 with FMXInno
 
2 Attachment(s)
Again this script Glass Black Box with FMXInno ;)

Behnam2018 19-02-2023 19:50

Help
 
2 Attachment(s)
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

1 Attachment(s)
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\Wi ndows 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

3 Attachment(s)
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.


All times are GMT -7. The time now is 16:37.

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