FileForums

FileForums (https://fileforums.com/index.php)
-   Conversion Tutorials (https://fileforums.com/forumdisplay.php?f=55)
-   -   INNO TROUBLESHOOT - Questions Here (https://fileforums.com/showthread.php?t=93193)

Cesar82 10-03-2021 12:34

Does anyone know any way to send a text from one Inno Setup executable to another?
Similar to the SendMessage function.

Is there any way to use WM_COPYDATA with SendMessage in Inno Setup?
It is not possible to configure WindowProc without pointers in innoSetup (It is not possible to type for TCopyDataStruct).

Ele 18-03-2021 01:02

Preprocessor Issue: Inno Setup
 
I've a problem. How to fix this? :confused:

https://i.ibb.co/Q6b8bbv/Screenshot-...-18-142010.png

Example:

Code:

Load.ini

[Form]
; Language
cache1=En_us
; Position: X
cache2=$DeskWidth$ - 95%
; Position: Y
cache3=$DeskHeight$ - 90%
; Form Width
cache4=450
; Form Height
cache5=450
; Form Border
cache6=no
 
cache7, cache8, ...

Code:

Test.iss

{Code]
#define public i
#define public FCacheMax 26
#dim public FCache[5]

#sub CheckFCache
  #define FCache[i] ReadIni(AddBackSlash(SourcePath)        + "load.ini", "Form", StringChange("cacheInt","Int", Str(i)), "")
#endsub
#if ReadIni(AddBackSlash(SourcePath)        + "load.ini", "Form", "cache1", "") != ""
  #redim FCache[Int(FCacheMax)]
  #for {i = 1; ReadIni(AddBackSlash(SourcePath)        + "load.ini", "Form", StringChange("cacheInt","Int", Str(i)), "") !=""; i++} CheckFCache
#endif

function InitializeSetup(): Boolean;
begin
  MsgBox('{#FCache[1]}', mbConfirmation, MB_OK);
end;


Cesar82 18-03-2021 03:58

Change the lines:
Code:

#define public FCache[i] ReadIni(...
...

#redim public FCache[Int(FCacheMax)]


Ele 18-03-2021 05:48

Quote:

Originally Posted by Cesar82 (Post 490911)
Change the lines:
Code:

#define public FCache[i] ReadIni(...
...

#redim public FCache[Int(FCacheMax)]


Thanks @Cesar82, it works. :)

Masquerade 28-03-2021 00:52

I know there's an if/else but is there an if/else for ifdef?

Example:

Code:

#define example

#ifdef example
    ExtractTemporaryFile('def.txt')
#else
    ExtractTemporaryFile('notdef.txt')
#endif

Would that work?

KaktoR 28-03-2021 00:54

Yes there is

https://jrsoftware.org/ispphelp/inde...pic=directives

Cesar82 28-03-2021 08:24

Quote:

Originally Posted by Masquerade (Post 491138)
I know there's an if/else but is there an if/else for ifdef?

Example:

Code:

#define example

#ifdef example
    ExtractTemporaryFile('def.txt')
#else
    ExtractTemporaryFile('notdef.txt')
#endif

Would that work?

Yes. For ISPP there is more than one way to use ELSE like:
Code:

#define example 5

#if defined(example)
  #if Example == 5
    ExtractTemporaryFile('def5.txt')
  #elif Example == 4
      ExtractTemporaryFile('def4.txt')
  #elif Example == 3
    ExtractTemporaryFile('def3.txt')
  #elif Example == 2
      ExtractTemporaryFile('def2.txt')
  #elif Example == 1
      ExtractTemporaryFile('def1.txt')
  #else
      ExtractTemporaryFile('def.txt')
  #endif
#else
    ExtractTemporaryFile('notdef.txt')
#endif

P.S: elif = else if

Masquerade 07-05-2021 12:24

Help with Progress Bar
 
Hello everyone, I am trying to add a progress bar to a script.

Code:

  Progress:= TNewProgressBar.Create(WizardForm);
  with Progress do
  begin
  Parent := WizardForm;
  SetBounds(10, 150, 200, 0);
  Max:=1000;
  end;

Code:

function ProgressCallback(OveralPct,CurrentPct: integer;CurrentFile,TimeStr1,TimeStr2,TimeStr3:PAnsiChar): longword;
begin
  if OveralPct <=1000 then Progress.Position := OveralPct;
  Result := ISDoneCancel;
end;

Code:

if CurPageID = wpInstalling then
  begin
  ExtractTemporaryFile('unarc.dll')
  Progress.Show;
  DesktopIconCheckBox.Enabled := false;
  WizardForm.DirEdit.Hide;
  WizardForm.DirBrowseButton.Hide;
  ISDoneCancel:= 0
  ISDoneError := true;
  if ISDoneInit(ExpandConstant('{src}\records.inf'), $F777, 0, 0, 0, MainForm.Handle, 512, @ProgressCallback) then begin
    ChangeLanguage('English')
    begin
      repeat
        if not ISArcExtract ( 0, 0, ExpandConstant('{src}\*.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), false) then break;
        ISDoneError := false;
      until true;
        ISDoneStop;
      end;
    end;
  end;

These above code snippets all are the code for the progress bar

I'm not entirely sure why the progress bar isn't showing up during installation.

I click "Install" to trigger wpInstalling.
THe directory box and the browse button disappear and the desktop icon checkbox is frozen. However, the progress bar does not appear.

Why could this be? Thanks!

Cesar82 07-05-2021 13:43

Quote:

Originally Posted by Masquerade (Post 491856)
Hello everyone, I am trying to add a progress bar to a script.

Code:

  Progress:= TNewProgressBar.Create(WizardForm);
  with Progress do
  begin
  Parent := WizardForm;
  SetBounds(10, 150, 200, 0);
  Max:=1000;
  end;

Code:

function ProgressCallback(OveralPct,CurrentPct: integer;CurrentFile,TimeStr1,TimeStr2,TimeStr3:PAnsiChar): longword;
begin
  if OveralPct <=1000 then Progress.Position := OveralPct;
  Result := ISDoneCancel;
end;

Code:

if CurPageID = wpInstalling then
  begin
  ExtractTemporaryFile('unarc.dll')
  Progress.Show;
  DesktopIconCheckBox.Enabled := false;
  WizardForm.DirEdit.Hide;
  WizardForm.DirBrowseButton.Hide;
  ISDoneCancel:= 0
  ISDoneError := true;
  if ISDoneInit(ExpandConstant('{src}\records.inf'), $F777, 0, 0, 0, MainForm.Handle, 512, @ProgressCallback) then begin
    ChangeLanguage('English')
    begin
      repeat
        if not ISArcExtract ( 0, 0, ExpandConstant('{src}\*.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), false) then break;
        ISDoneError := false;
      until true;
        ISDoneStop;
      end;
    end;
  end;

These above code snippets all are the code for the progress bar

I'm not entirely sure why the progress bar isn't showing up during installation.

I click "Install" to trigger wpInstalling.
THe directory box and the browse button disappear and the desktop icon checkbox is frozen. However, the progress bar does not appear.

Why could this be? Thanks!


Maybe it's because you set Parent = WizardForm.
If you are a native installer, the parent should be the wpInstalling page.

If you are an installer that uses the native interface, try setting the ProgressBar Parent to:

Code:

Parent: = WizardForm.ProgressGauge.Parent;
or
Parent: = WizardForm.InstallingPage;


DiCaPrIo 07-05-2021 14:12

Quote:

Originally Posted by Masquerade (Post 491856)
Hello everyone, I am trying to add a progress bar to a script.

Code:

  Progress:= TNewProgressBar.Create(WizardForm);
  with Progress do
  begin
  Parent := WizardForm;
  SetBounds(10, 150, 200, 0);
  Max:=1000;
  end;

Code:

function ProgressCallback(OveralPct,CurrentPct: integer;CurrentFile,TimeStr1,TimeStr2,TimeStr3:PAnsiChar): longword;
begin
  if OveralPct <=1000 then Progress.Position := OveralPct;
  Result := ISDoneCancel;
end;

Code:

if CurPageID = wpInstalling then
  begin
  ExtractTemporaryFile('unarc.dll')
  Progress.Show;
  DesktopIconCheckBox.Enabled := false;
  WizardForm.DirEdit.Hide;
  WizardForm.DirBrowseButton.Hide;
  ISDoneCancel:= 0
  ISDoneError := true;
  if ISDoneInit(ExpandConstant('{src}\records.inf'), $F777, 0, 0, 0, MainForm.Handle, 512, @ProgressCallback) then begin
    ChangeLanguage('English')
    begin
      repeat
        if not ISArcExtract ( 0, 0, ExpandConstant('{src}\*.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), false) then break;
        ISDoneError := false;
      until true;
        ISDoneStop;
      end;
    end;
  end;

These above code snippets all are the code for the progress bar

I'm not entirely sure why the progress bar isn't showing up during installation.

I click "Install" to trigger wpInstalling.
THe directory box and the browse button disappear and the desktop icon checkbox is frozen. However, the progress bar does not appear.

Why could this be? Thanks!

because you didn't give height value SetBounds(10, 150, 200, 40);//(l,t,w,h)

Masquerade 09-05-2021 06:10

Is there any way I can use ExtractTemporaryFile with the * wildcard?

Currently I have this:

Code:

[Files]
Source: Include\*; DestDir: {tmp}; Flags: dontcopy

However, how can I extract all of the files included above to {tmp} without manually specifiying everything (since I'm trying to desing the code so that anything in the Include folder will be extracted to {tmp})?

DiCaPrIo 09-05-2021 06:50

Quote:

Originally Posted by Masquerade (Post 491872)
Is there any way I can use ExtractTemporaryFile with the * wildcard?

Currently I have this:

Code:

[Files]
Source: Include\*; DestDir: {tmp}; Flags: dontcopy

However, how can I extract all of the files included above to {tmp} without manually specifiying everything (since I'm trying to desing the code so that anything in the Include folder will be extracted to {tmp})?


HTML Code:

#define Resources "Files\*"

[Files]
Source: {#Resources}; DestDir: {tmp}; Flags: dontcopy

[Code]
function InitializeSetup:boolean;
begin
  #define FHandle
  #define FRst
  #define Mask Resources
  #sub ProcessFiles
  #define FileName FindGetFileName(FHandle)
  ExtractTemporaryFile('{#FileName}');
  #endsub
  #for {FHandle = FRst = FindFirst(Mask, 0); FRst; FRst = FindNext(FHandle)} ProcessFiles
  Result:=True;
end;


Cesar82 09-05-2021 10:50

Quote:

Originally Posted by Masquerade (Post 491872)
Is there any way I can use ExtractTemporaryFile with the * wildcard?

Currently I have this:

Code:

[Files]
Source: Include\*; DestDir: {tmp}; Flags: dontcopy

However, how can I extract all of the files included above to {tmp} without manually specifiying everything (since I'm trying to desing the code so that anything in the Include folder will be extracted to {tmp})?

For not so old versions of Inno Setup you can use:
Code:

[Files]
Source: Include\*; DestDir: {tmp}; Flags: dontcopy

[ code]
function InitializeSetup(): Boolean;
begin
  ExtractTemporaryFiles('{tmp}\*.*');
  Result := True;
end;

If you use @files: in the path of any of the DLL functions they will be extracted automatically before the InitializeSetup function.
So I recommend you change to {tmp} in the DLL functions, or specify a destination other than {tmp} for them using the dontcopy flag.

Code:

function ISArcExtract(CurComponent: Cardinal; PctOfTotal:double; InName, OutPath, ExtractedPath: AnsiString; DeleteInFile: Boolean; Password, CfgFile, WorkPath: AnsiString; ExtractPCF: boolean ):boolean; external 'ISArcExtract@files:ISDone.dll stdcall delayload';

change to:

function ISArcExtract(CurComponent: Cardinal; PctOfTotal:double; InName, OutPath, ExtractedPath: AnsiString; DeleteInFile: Boolean; Password, CfgFile, WorkPath: AnsiString; ExtractPCF: boolean ):boolean; external 'ISArcExtract@{tmp}\ISDone.dll stdcall delayload';


Cesar82 09-05-2021 17:52

Can anyone tell me if it is necessary to call these IsDone functions below if I do not use the ISFindFiles e and ISPrecompExtract and ISSRepExtract functions.

Code:

      if not SrepInit(ExpandConstant('{app}\'), 512, 0) then
        Break;

      if not PrecompInit(ExpandConstant('{app}\'), 128, 0) then
        Break;

      if not FileSearchInit(True) then
        Break;

IsDone's help is all in Russian and it would help a lot if someone who understands the language could share this information.
I will only use IsArcExtract, IsRarExtract, IS7ZipExtract and ISxDeltaExtract.

Masquerade 09-05-2021 22:53

@Cesar82

No, you don't.

ffmla 09-05-2021 23:27

Quote:

Originally Posted by Cesar82 (Post 491882)
Can anyone tell me if it is necessary to call these IsDone functions below if I do not use the ISFindFiles e and ISPrecompExtract and ISSRepExtract functions.

Code:

      if not SrepInit(ExpandConstant('{app}\'), 512, 0) then
        Break;

      if not PrecompInit(ExpandConstant('{app}\'), 128, 0) then
        Break;

      if not FileSearchInit(True) then
        Break;

IsDone's help is all in Russian and it would help a lot if someone who understands the language could share this information.
I will only use IsArcExtract, IsRarExtract, IS7ZipExtract and ISxDeltaExtract.

Data taken from Help file..
Code:

function ISDoneInit (RecordFileName:string; TimeType, Comp1, Comp2, Comp3:Cardinal; WinHandle, NeededMem:longint; callback: TCallback):boolean;
When we initialize the ISDoneInit(...),This SrepInit,PrecompInit & FileSearchInit takes their default values.

Code:

function SrepInit (TmpPath:PAnsiChar; VirtMem, MaxSave:Cardinal):boolean;
function PrecompInit (TmpPath:PAnsiChar; VirtMem:cardinal; PrecompVers:single):boolean;

For Srep and Precomp if you want to extract the temp file [Virtualmem_00.srep and others] to specific location then use it.otherwise it is completely optional.
Code:

function FileSearchInit (RecursiveSubDir:boolean):boolean;
For FileSearchInit, subdirectories scanning is enabled by default.
If you specify true Then when specifying the input file name containing the mask (eg * .pcf), files will be searched in the same in all subdirectories from the specified path. If false - Only in the specified folder.

GaMEr_2077 28-05-2021 07:42

Can anyone here tell me how can i direct my setup to install a font without informing the user and the first priority of setup must be installing the font

Thanks

pratikpatel8982 28-05-2021 09:07

Quote:

Originally Posted by GaMEr_2077 (Post 492474)
Can anyone here tell me how can i direct my setup to install a font without informing the user and the first priority of setup must be installing the font

Thanks

You can take a look at this: https://superuser.com/questions/2018...command-prompt

GopnikRepackz 01-06-2021 18:16

Components Full and Custom Help
 
Hello everyone, trying to know how I can get the components to be fixed when in full installation but then selectable when in custom installation:
-The Full Installation at the moment-
https://imgur.com/aS2TWYh

-The Custom Installation at the moment-
https://imgur.com/Lgl13Fl

Thanks for the help!

Prince4 06-06-2021 01:42

Can someone Explain what does those two hyphen or minus do?


Code:

packcmd  = xtool precomp -mzlib+preflate -c32mb -t100p --dbase=temp.db - - <stdin> <stdout>

Also these "<stdin> <stdout>" are only used in Installer's Arc.ini right? For UnArc.dll?

GaMEr_2077 07-06-2021 00:43

is there any option in inno for example if component A is selected then the setup will extract specified file and if selected B then other specified file

Edit:- Files are embeded in installer

Masquerade 07-06-2021 03:59

Quote:

Originally Posted by GaMEr_2077 (Post 492658)
is there any option in inno for example if component A is selected then the setup will extract specified file and if selected B then other specified filer

I use a similar feature to what you ask in my installer, to decide whether a user will have a full power installation or limited installation ("Low Resource Mode")

Code:

  if LowResourceCB.Checked then begin
    ExtractTemporaryFile('low_ARC.ini');
    ExtractTemporaryFile('low_CLS.ini');
  end else begin
    ExtractTemporaryFile('ARC.INI');
    ExtractTemporaryFile('CLS.INI');
  end;

Hopefully this helps you out. This code is tied with a checkbox.

Prince4 08-06-2021 05:32

Quote:

Originally Posted by Masquerade (Post 492660)
I use a similar feature to what you ask in my installer, to decide whether a user will have a full power installation or limited installation ("Low Resource Mode")
Code:

('low_ARC.ini');('low_CLS.ini');
;

Hopefully this helps you out. This code is tied with a checkbox.

How do you rename them later? ISDone or UnARc don't read "low_ARc.ini" as "ARC.ini" do they?

KaktoR 08-06-2021 07:41

Try like this

Code:

  if LowResourceCB.Checked then begin
    ExtractTemporaryFile('low_ARC.ini');
    ExtractTemporaryFile('low_CLS.ini');
    RenameFile(ExpandConstant('{tmp}\low_ARC.ini', '{tmp}\Arc.ini'));
    RenameFile(ExpandConstant('{tmp}\low_CLS.ini', '{tmp}\Cls.ini'));
  end else begin
    ExtractTemporaryFile('ARC.INI');
    ExtractTemporaryFile('CLS.INI');
  end;

This code has to be placed BEFORE archive unpacking begins.

Epic Titan 69 11-06-2021 00:17

How to show custom text instead of LABELCURRFILE
I know that we need to put .Hide in front of it to stop showing current file name but what to do to show custom text like
Extracting or Unpacking...... etc

THANKS

GaMEr_2077 11-06-2021 06:33

Quote:

Originally Posted by Epic Titan 69 (Post 492852)
How to show custom text instead of LABELCURRFILE
I know that we need to put .Hide in front of it to stop showing current file name but what to do to show custom text like
Extracting or Unpacking...... etc

THANKS

I also need that.....

KaktoR 11-06-2021 09:59

LABELCURFILE is not inside InnoSetup Support, maybe you mean 'StatusLabel' instead?

StatusLabel is showing 'Unpacking Files ...', FileNameLabel is showing current file.

However, to make a new TLabel or TNewStaticText variable you can do something like this.

Code:

var
  MyText: TLabel;

procedure InitializeWizard();
begin
  MyText := TLabel.Create(WizardForm);
    with MyText do begin
      Parent := WizardForm.InstallingPage;
      Caption := 'My Text here'; // you can also use constants like '{cm:MyText}' with [CustomMessage] section if you like it to make multi langual
      Left := ScaleX(1);
      Top := ScaleY(1);
      Width := ScaleX(150);
      Height := ScaleY(12);
      Wordwrap := False;
    end;
end;

procedure CurPageChanged(CurPageID: integer);
  if CurPageID = wpInstalling then begin
    //Here you can hide (x.Hide) or show (x.Show) your variable
    MyText.Show;
  end;
end;


Masquerade 17-06-2021 00:20

There was a plugin for Inno Setup that allowed for bat file / console application output to be redirected to the inno Setup memo window instead of producing a cmd window.

The name seems to have slipped my mind - can anyone help?

L33THAK0R 17-06-2021 05:19

Hi all,

Does anyone know if Inno Setup supports checksum parts/segments/other-name-here? A lot of my conversions have selective/optional .bins and I usually only supply the checksums for the "main" files, but was wondering if I could have multiple smaller checksum files for each component then splice these together to verify selected parts.

Masquerade 17-06-2021 09:03

Quote:

Originally Posted by L33THAK0R (Post 492925)
Hi all,

Does anyone know if Inno Setup supports checksum parts/segments/other-name-here? A lot of my conversions have selective/optional .bins and I usually only supply the checksums for the "main" files, but was wondering if I could have multiple smaller checksum files for each component then splice these together to verify selected parts.

bat file - copy main.md5+selective.md5 new.md5

:( Sad8669 17-06-2021 11:18

Damn, any idea where should i start to learn basic inno setup functions and stuff?

Cesar82 17-06-2021 14:48

1 Attachment(s)
Quote:

Originally Posted by Masquerade (Post 492919)
There was a plugin for Inno Setup that allowed for bat file / console application output to be redirected to the inno Setup memo window instead of producing a cmd window.

The name seems to have slipped my mind - can anyone help?

I know and have public versions there is "ISUtils.dll" (by Peterf1999) and also "Memo Console for Inno Setup" (Console.dll) (by BLACKFIRE69).
It has other libraries like cmdout.dll (by Ele) but I don't know if it's public.
I've also attached here an example using version without libraries.

GaMEr_2077 17-06-2021 20:26

Quote:

Originally Posted by Cesar82 (Post 492928)
I know and have public versions there is "ISUtils.dll" (by Peterf1999) and also "Memo Console for Inno Setup" (Console.dll) (by BLACKFIRE69).
It has other libraries like cmdout.dll (by Ele) but I don't know if it's public.
I've also attached here an example using version without libraries.

okay so this will run cmd commands in inno console
RIGHT??

Ele 17-06-2021 22:47

4 Attachment(s)
Quote:

Originally Posted by Cesar82
It has other libraries like cmdout.dll (by Ele) but I don't know if it's public.

Yes, it wasn't a public Lib. I only use it on my personal projects. If anyone finds it useful, here it is. :)
Tested with: Inno 5.5.1.ee2(unicode) Enhanced and Inno 6.2.0(unicode).

Note: There're two separate libraries here. One is for Inno and the other is for Delphi.


Preview:

Masquerade 02-07-2021 09:29

@Ele, thanks your plugin works great in my tests. I tried the dll by BLACKFIRE69 however I could not get it to work.

Is there a way to stop my memo from echoing the same thing twice?

Currently I have it set to echo the file currently being extracted however this means it echoes the same file over and over again until it moves onto the next file.

Here's the current code:

Code:

function ProgressCallback(OveralPct, CurrentPct: Integer; CurrentFile, TimeStr1, TimeStr2, TimeStr3: PAnsiChar): LongWord;
var
  CurTick: DWORD;
begin
    Memo.Lines.Add('Unpacking: ' + CurrentFile);

I thought maybe I could make a temporary string variable and comparing it with the current file and if so, skip echoing the current file, I am interested if anyone has any thoughts on this.

KaktoR 02-07-2021 11:00

Yes it it possible the way you thought on it. I remember this was the case in all your repacks and I wondered why you made it this way :)

However, I think there is a more easier way to do this. I guess one of our experts will answer you on this :D

DiCaPrIo 02-07-2021 11:28

Quote:

Originally Posted by Masquerade (Post 493088)
@Ele, thanks your plugin works great in my tests. I tried the dll by BLACKFIRE69 however I could not get it to work.

Is there a way to stop my memo from echoing the same thing twice?

Currently I have it set to echo the file currently being extracted however this means it echoes the same file over and over again until it moves onto the next file.

Here's the current code:

Code:

function ProgressCallback(OveralPct, CurrentPct: Integer; CurrentFile, TimeStr1, TimeStr2, TimeStr3: PAnsiChar): LongWord;
var
  CurTick: DWORD;
begin
    Memo.Lines.Add('Unpacking: ' + CurrentFile);

I thought maybe I could make a temporary string variable and comparing it with the current file and if so, skip echoing the current file, I am interested if anyone has any thoughts on this.

if not Memo.Lines.IndexOf('Unpacking: ' + CurrentFile) > -1 then
Memo.Lines.Add('Unpacking: ' + CurrentFile);

Cesar82 02-07-2021 15:15

Quote:

Originally Posted by Masquerade (Post 493088)
Code:

function ProgressCallback(OveralPct, CurrentPct: Integer; CurrentFile, TimeStr1, TimeStr2, TimeStr3: PAnsiChar): LongWord;
var
  CurTick: DWORD;
begin
    Memo.Lines.Add('Unpacking: ' + CurrentFile);

I thought maybe I could make a temporary string variable and comparing it with the current file and if so, skip echoing the current file, I am interested if anyone has any thoughts on this.

Another option is to use it this way.
I don't know if the filenames are partially cut off or not.
Let's say you have 2 files with same names in somewhat similar paths then the second file will also be displayed.

Example:
1) Data1.bin destination {app}\bin
FileName = Bin32\File1.txt
FileName = Bin32\File2.txt
2) Data2.bin destination {app}\
FileName = Bin\Bin32\File1.txt
FileName = Bin\File3.txt

In this case there are similar names as long as it is not the same name as the previous line, it will be added.
Code:

if (Memo.Lines.Count = 0) or (CompareText(Memo.Lines.Strings[Memo.Lines.Count - 1], 'Unpacking: ' + CurrentFile) <> 0) then
  Memo.Lines.Add('Unpacking: ' + CurrentFile);


Carldric Clement 26-07-2021 04:51

Quote:

Originally Posted by Ele (Post 492931)
Yes, it wasn't a public Lib. I only use it on my personal projects. If anyone finds it useful, here it is. :)
Tested with: Inno 5.5.1.ee2(unicode) Enhanced and Inno 6.2.0(unicode).

Note: There're two separate libraries here. One is for Inno and the other is for Delphi.


Preview:

Idk if it works with Delphi XE 10 I guess. But my problem is the ISCmdInit doesn't support the latest version of Delphi XE because I'm using FMX. :p

Masquerade 30-07-2021 13:15

Is there an inno library that support blake3 hashings? ISHash does MD5 but not Blake3.


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

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