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

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 03-09-2020, 05:52
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 692
Thanks: 481
Thanked 2,557 Times in 565 Posts
BLACKFIRE69 is on a distinguished road
Talking Game files integrity check - XHash Library

XHashEx v2.0
File Hashing & Checksum Verification API for Inno Setup
84 algorithms · multi-threaded · Win32 DLL (32 & 64-bit Windows) · by BLACKFIRE69

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━

▌ OVERVIEW
XHashEx is a lightweight, high-performance hashing library crafted for Inno Setup. It generates and verifies checksum files for entire folders, hashes single files, and exposes 84 hashing algorithms — from fast CRC32/XXHash to the full cryptographic suite (SHA-2, SHA-3, BLAKE2/3 …) — all from a single DLL with live per-file and overall progress tracking. Ideal for verifying the integrity of downloaded payloads, large data sets, or already-installed files before continuing an installation.

▌ TECHNICAL SPECIFICATIONS
  • Version — v2.0
  • Author — BLACKFIRE69
  • Build — 2026-Jun
  • Compatibility — Inno Setup v6.0 or later (Required)
  • Platform — Win32 DLL (runs on 32-bit and 64-bit Windows)

▌ WHAT'S NEW (v2.0)

⚠ BREAKING CHANGE — No Backward Compatibility
Every exported function was renamed with an XH_ prefix and a cleaner name (e.g. CalculateHashesForDirXH_GenerateDir). v1.x scripts will not work until imports are updated — swap to the bundled XHashEx.iss header. The ProcessMessages export was removed entirely; the DLL pumps the message queue itself.

✦ Multi-Threading Support (NEW)
Hash many files in parallel via a worker-thread pool, count selectable at runtime with XH_SetThreadCount (XH_THREADS_SINGLE / N / XH_THREADS_AUTO). OFF by default — opt in with one call.

✦ Light Callback Mode (NEW)
On folders with tens of thousands of files, per-file callback crossings into Pascal Script dominate the runtime, not the hashing. XH_SetCallbackMode(XH_CALLBACK_LIGHT) keeps directory runs fast in BOTH thread modes: failures/missing/final file are always reported, plus a ~10×/s sampled tick — the log still records every file. OFF by default.

✦ Measured Performance (28,036 files · xxHash32 · SATA SSD · Windows 11)
Code:
╭───────────────────┬──────────────────────┬──────────────┬───────────╮
│ Mode              │ Duration v1.4+ (Mar) │ Duration 2.0 │ Speedup   │
├───────────────────┼──────────────────────┼──────────────┼───────────┤
│ ST generation     │         7 min 32 sec │       32 sec~14×      │
│ ST verification   │         8 min 40 sec │       35 sec~15×      │
│ MT generation     │         5 min 36 sec │       26 sec~13×      │
│ MT verification   │         6 min 13 sec │       28 sec~13×      │
╰───────────────────┴──────────────────────┴──────────────┴───────────╯
At that rate the SATA SSD itself is the limit (~420–500 MB/s); NVMe raises the ceiling further.

✦ Byte-Weighted Progress (NEW)
Overall progress reflects the share of BYTES hashed, so the bar moves smoothly even when file sizes vary wildly. Toggle with XH_SetProgressMode (on by default).

✦ Accurate MT Progress + Instant Pause
In MT runs the overall percent tracks exactly what's reported to your callback — it reaches 100% precisely when the run finishes — and Pause/Resume/Cancel take effect immediately even under heavy load.

✦ Significant Performance Improvements
Throughput scales with cores (auto-capped to keep disk access sane), no extra per-file metadata pass before hashing, each worker reuses its hash object across files, and the DLL pumps the message queue itself.

✦ New High-Performance File Search Engine
The old file-search code is replaced with a faster wide-API scanner customized for hashing (lean path-only mode), pre-compiled wildcard masks, and full case-insensitive $"regex" support.

✦ Expanded Algorithm Set
The full cryptographic suite is now exposed — 80+ algorithms total (added SHA-224/384, SHA-3/Keccak, RIPEMD-160/320, WhirlPool, BLAKE2B/2SP/2BP, GOST, Snefru, Tiger/Haval variants …).

✦ Unicode Fixes
Checksum and log files are written/read as UTF-8, so non-Latin file names (Cyrillic, CJK …) round-trip correctly instead of being mangled.

✦ Performance Upgrade
Read buffer and hash object reused across files (no per-file alloc), files opened once with sequential-scan I/O, and progress callbacks throttled to whole-percent changes.

✦ Bug Fixes & Stability
Fixed a UI-freeze regression during long operations, corrected progress reporting on the verification path, and various smaller fixes.

✦ Refreshed Example & Docs
A new, comprehensive Inno Setup 6 demo (XHashEx_Example.iss) with a Multi-threaded toggle (paired with light callback mode), a live Elapsed / Speed / ETA readout, and a final Duration + average-throughput summary — plus an updated quick-reference.

▌ KEY FEATURES

✦ Directory Checksum Generation
Recursively hash an entire folder into a single checksum file (.md5/.sha1/.sha256/.sfv …), one algorithm per run.

✦ Checksum Verification
Verify files against a checksum file with an explicit algorithm, or in auto-detect mode (CRC32/MD5/SHA1/SHA256/SHA512) for mixed-algorithm lists.

✦ Single-File Hashing
Compute and return the digest of one file, or verify it against a known hash.

✦ Powerful File Selection (Masks)
Include/Exclude using wildcards, sub-folders, @list files, and case-insensitive $"regex" patterns — mix freely with '|'.

✦ Multi-Threaded Hashing
Optionally hash in parallel across a worker-thread pool (selectable count, or auto). Result callbacks stay on your calling thread — safe to enable with no other code changes.

✦ Live Progress Tracking
Per-file %, overall % (byte-weighted by default), file size, bytes processed, total file count, per-file status (Ok / Bad / Missing).

✦ Process Control
Pause, Resume, and Stop a running operation safely at any point.

✦ Customizable Logging
Optional log file with fully customizable log message strings.

✦ Checksum File Comments
Write custom comment lines into the header of the generated checksum file.

✦ Attribute Control
Optionally include hidden and/or system files when scanning.

✦ Performance Tuning
Adjustable read buffer (default 4 MB) for max throughput on very large files; hash object + buffer reused across files.

✦ Full Unicode Support
Non-Latin file names handled correctly; checksum and log files written as UTF-8.

✦ Previous-Hash Cache
Append new results to existing in-memory hashes to build cumulative checksum files across multiple passes.

✦ Bonus: File Search / Enumeration API
A built-in wide-API file scanner (wfs_*) for listing files/directories by the same mask/regex syntax, with optional per-file size, attributes, and CRC32.

▌ SUPPORTED ALGORITHMS (80+ total)
Code:
╭───────────────────┬──────────────────────────────────────────────────────╮
│ Group             │ Algorithms                                           │
├───────────────────┼──────────────────────────────────────────────────────┤
│ Checksum          │ CRC32                                                │
│ MD                │ MD2, MD4, MD5                                        │
│ SHA-1 / SHA-2     │ SHA0, SHA1, SHA-224/256/384/512, SHA-512/224, /256   │
│ SHA-3 / Keccak    │ SHA3-224/256/384/512, Keccak-224/256/288/384/512     │
│ RIPEMD            │ RIPEMD, RIPEMD-128/160/256/320                       │
│ BLAKE             │ BLAKE2S, BLAKE2B, BLAKE2SP, BLAKE2BP, BLAKE3         │
│ Tiger             │ Tiger & Tiger2 (3/4/5 rounds x 128/160/192)          │
│ Haval             │ Haval (3/4/5 rounds x 128/160/192/224/256)           │
│ Other crypto      │ WhirlPool, GOST, GOST R 34.11-2012, HAS-160, Snefru, │
│                   │ Grindahl, Panama, RadioGatun                         │
│ Fast / non-crypto │ MurmurHash3, XXHash32                                │
╰───────────────────┴──────────────────────────────────────────────────────╯
Each algorithm has a numeric id (1..84), listed with XH_* constants in XHashEx.iss. Auto-detect verification supports only CRC32/MD5/SHA1/SHA256/SHA512; others need their explicit id.

▌ MASKS (Include / Exclude)
Matched against the file's RELATIVE path + name, combined with '|'. Blank or '*' means all files.
Code:
*.dll|*.exe                  wildcards / extensions
images\png\*                 a sub-folder
G????info.*                  ? = single char
@"IncludeFiles.txt"          @list file (one mask per line)
$"^setup.*\.exe$"            case-insensitive regex
*.dll|@list.txt|$"\d{4}"     mix all three
▌ EXPORTED API FUNCTIONS
(v1.x names in parentheses)
  • Generation — XH_GenerateDir (CalculateHashesForDir), XH_GenerateDirEx, XH_HashFile (CalculateFileHash)
  • Verification — XH_VerifyDir (VerifyHashesFromFile), XH_VerifyDirEx, XH_VerifyDirAuto, XH_VerifyDirAutoEx, XH_VerifyFile
  • Process Control — XH_Pause, XH_Resume, XH_Stop, XH_GetStatus
  • Configuration — XH_SetThreadCount, XH_SetCallbackMode, XH_SetProgressMode, XH_SetMaxProgress, XH_SetBufferSize, XH_GetBufferSize, XH_SetIncludeAttribs, XH_SetLogFile, XH_SetLogMessage, XH_HideComments, XH_AddComment, XH_ClearComments
  • Results & Logging — XH_GetLog, XH_ClearLog, XH_GetHashText, XH_ClearHashText, XH_GetVerifiedFileCount
  • Utility — XH_ByteOrTb
  • File Search (wfs_*) — wfs_FindFiles / wfs_FindFilesEx / wfs_FindFilesExFast, wfs_FileCount, wfs_PickFile, wfs_PickFileList, wfs_DirCount, wfs_PickDir, wfs_SaveFileList, wfs_SaveDirList, wfs_FindFree

▌ QUICK START EXAMPLES

Example 1 — Generate a checksum file for a folder
Code:
#include "XHashEx.iss"

function MyProgress(FileName: WideString; FileSize: Extended;
  FileProgress, TotalProgress, TotalFiles, FileCounted, StatusCode: Integer): Boolean;
begin
  // update your UI here ... (no ProcessMessages needed)
  Result := False;   // return True to abort
end;

if XH_GenerateDir(
     ExpandConstant('{app}\checksums.sha256'),
     ExpandConstant('{app}'),
     XH_SHA256, @MyProgress) = XH_PROCESS_DONE then
  Log('Checksum file created.');
Example 2 — Verify a checksum file
Code:
case XH_VerifyDir(
       ExpandConstant('{app}\checksums.sha256'),
       ExpandConstant('{app}'),
       XH_SHA256, 0, True, @MyProgress) of
  XH_PROCESS_DONE:          Log('All files verified.');
  XH_INVALID_CHECKSUM_FILE: Log('Checksum file missing/invalid.');
  XH_PROCESS_ABORTED:       Log('Cancelled by user.');
end;
Example 3 — Verify a mixed-algorithm list (auto-detect)
Code:
// auto-detect handles CRC32/MD5/SHA1/SHA256/SHA512
XH_VerifyDirAuto(
  ExpandConstant('{app}\hash_mixed.md5'),
  ExpandConstant('{app}'),
  0, False, @MyProgress);   // PreviousFileCount, no log file
Example 4 — Hash a single file
Code:
Digest := XH_HashFile(
  ExpandConstant('{app}\game.exe'), XH_XXHASH_32, @MySingleProgress);
MsgBox('XXHash32: ' + Digest, mbInformation, MB_OK);
Example 5 — Generate with masks (wildcards + regex), hidden files included
Code:
XH_SetIncludeAttribs(True, False);   // include hidden, not system
XH_SetBufferSize(4096);              // 4 MB read buffer

XH_GenerateDirEx(
  ExpandConstant('{app}\data.md5'),
  ExpandConstant('{app}'),
  '*.dll|*.exe|$"^data\d+\.bin$"',    // include masks
  '*.log|$"\.(tmp|bak)$"',            // exclude masks
  True, False, XH_MD5, @MyProgress);
▌ DISTRIBUTION FILES
  • XHashEx.dll — the hashing library (single DLL)
  • XHashEx.iss — header for Inno Setup (constants, types, imports)
  • XHashEx_Example.iss — full working demo (generate / verify / single file, algorithm picker, masks, pause/resume, log)
  • _Usage.txt — quick reference for masks and algorithm ids

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━

Feedback, bug reports and suggestions are welcome. Enjoy!
— BLACKFIRE69


.
Attached Images
File Type: png x4.png (47.8 KB, 5 views)
File Type: png x3.png (49.8 KB, 5 views)
File Type: png x2.png (14.6 KB, 5 views)
File Type: png x1.png (14.3 KB, 5 views)
File Type: png x5.png (9.7 KB, 5 views)
Attached Files
File Type: rar XHashEx v2.0 + Examples.rar (2.90 MB, 2 views)

Last edited by BLACKFIRE69; Today at 05:33. Reason: Added latest update
Reply With Quote
The Following 22 Users Say Thank You to BLACKFIRE69 For This Useful Post:
ARTEMiS14 (05-09-2020), audiofeel (22-02-2023), Carldric Clement (16-01-2023), Cesar82 (04-09-2020), DedSec (05-10-2020), DelphiBuilder (22-12-2022), dixen (03-09-2020), Ele (22-12-2022), Entai44 (22-02-2021), ffmla (05-08-2022), Gehrman (05-08-2022), Harsh ojha (03-09-2020), hdneo (04-01-2023), hitman797 (09-08-2022), Jiva newstone (03-09-2020), kenzo34 (08-02-2022), kozmik (19-04-2023), Lord.Freddy (10-08-2022), Mortal Lord (04-09-2020), ScOOt3r (05-08-2022), Snapppr6 (04-09-2020), ZAZA4EVER (03-09-2020)
Sponsored Links
  #2  
Old 05-09-2020, 11:58
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 692
Thanks: 481
Thanked 2,557 Times in 565 Posts
BLACKFIRE69 is on a distinguished road
XHash Update 1.1v

XHash Update 1.1v

  • Added more Algos.

    - md5
    - sha1
    - sha256
    - sha512

  • Fixed some bugs.

_

Last edited by BLACKFIRE69; Today at 05:22.
Reply With Quote
The Following 10 Users Say Thank You to BLACKFIRE69 For This Useful Post:
Balaji007 (05-10-2020), DedSec (05-10-2020), dixen (06-09-2020), Epic Titan 69 (20-02-2021), ffmla (06-09-2020), Gehrman (05-08-2022), Harsh ojha (05-09-2020), kenzo34 (08-02-2022), ScOOt3r (08-02-2022), shazzla (06-10-2020)
  #3  
Old 05-10-2020, 10:15
Balaji007's Avatar
Balaji007 Balaji007 is offline
Registered User
 
Join Date: Nov 2019
Location: Internet 😝
Posts: 34
Thanks: 41
Thanked 6 Times in 6 Posts
Balaji007 is on a distinguished road
Thumbs up

I am appreciating your work friend. Your tools are pretty cool
__________________
If you will smile,You will live long
Just like the haters,they are helping to improve your skills.
Reply With Quote
The Following User Says Thank You to Balaji007 For This Useful Post:
BLACKFIRE69 (05-10-2020)
  #4  
Old 20-02-2021, 21:37
Epic Titan 69 Epic Titan 69 is offline
Banned
 
Join Date: Dec 2020
Location: In The Hell
Posts: 89
Thanks: 147
Thanked 39 Times in 27 Posts
Epic Titan 69 is on a distinguished road
Quote:
Originally Posted by BLACKFIRE69 View Post
XHash Update 1.1v

  • Added more Algos.

    - md5
    - sha1
    - sha256
    - sha512

  • Fixed some bugs.

_
Can You Add This Option (Game files integrity check - XHash Library)
To This Script
Reply With Quote
  #5  
Old 08-02-2022, 11:24
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 692
Thanks: 481
Thanked 2,557 Times in 565 Posts
BLACKFIRE69 is on a distinguished road
XHash New Update

Update available!


What's New:
  • Stable.
  • Faster.
  • Supports both generate and verify checksums.


ChecksumX
Code:
USAGE:
 ChecksumX.exe [generate] [autoclose] [/x=<ExcludeFile>] <Checksum_File> <Algorithm_Index> <Base_Path>

OPTIONS:
 generate  - Generate a checksumfile.
 autoclose - Automatically close when the process is done.
 /x=<file> - Excluding file masks list for generate only.

_

Last edited by BLACKFIRE69; Today at 05:25.
Reply With Quote
The Following 8 Users Say Thank You to BLACKFIRE69 For This Useful Post:
dixen (08-02-2022), ffmla (09-02-2022), Gehrman (05-08-2022), Harsh ojha (09-02-2022), hitman797 (09-02-2022), kenzo34 (08-02-2022), kj911 (08-02-2022), ScOOt3r (08-02-2022)
  #6  
Old 30-03-2023, 13:32
Karekas Karekas is offline
Registered User
 
Join Date: Dec 2022
Location: Brasil
Posts: 1
Thanks: 15
Thanked 0 Times in 0 Posts
Karekas is on a distinguished road
code for inno script, for newbie

Quote:
Originally Posted by BLACKFIRE69 View Post
XHash Update 1.1v

  • Added more Algos.

    - md5
    - sha1
    - sha256
    - sha512

  • Fixed some bugs.

_

Hello, this addon is very nice.

I'm a little newbie, and I wanted to know if you could provide the code to display this screen, like the one attached to this post, so I can add it to my installer.

thank you and a big hug from this Brazilian.
Reply With Quote
  #7  
Old 29-07-2023, 08:38
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 692
Thanks: 481
Thanked 2,557 Times in 565 Posts
BLACKFIRE69 is on a distinguished road
Arrow XHashEx + ChecksumX - Updates

Update available!


Code:
* Updated file search. (Thanks to Cesar82)
* Minor improvements.

Check out the first post.


,

Last edited by BLACKFIRE69; Today at 05:28.
Reply With Quote
The Following 5 Users Say Thank You to BLACKFIRE69 For This Useful Post:
audiofeel (29-07-2023), Cesar82 (29-07-2023), Gehrman (29-07-2023), hitman797 (30-07-2023), ScOOt3r (29-07-2023)
  #8  
Old 05-08-2022, 04:29
Lord.Freddy's Avatar
Lord.Freddy Lord.Freddy is offline
Registered User
 
Join Date: Apr 2022
Location: ...
Posts: 54
Thanks: 222
Thanked 41 Times in 25 Posts
Lord.Freddy is on a distinguished road
Hello. Your file is good, but if I use the VclStyle skin, when the dll file wants to show the error box, the installation file closes suddenly. can you remove the error box from dll ?

Last edited by Lord.Freddy; 05-08-2022 at 05:15.
Reply With Quote
  #9  
Old 05-08-2022, 06:32
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 692
Thanks: 481
Thanked 2,557 Times in 565 Posts
BLACKFIRE69 is on a distinguished road
Quote:
Originally Posted by Lord.Freddy View Post
Hello. Your file is good, but if I use the VclStyle skin, when the dll file wants to show the error box, the installation file closes suddenly. can you remove the error box from dll ?
can you specify what the error message is?
Reply With Quote
  #10  
Old 05-08-2022, 07:32
Lord.Freddy's Avatar
Lord.Freddy Lord.Freddy is offline
Registered User
 
Join Date: Apr 2022
Location: ...
Posts: 54
Thanks: 222
Thanked 41 Times in 25 Posts
Lord.Freddy is on a distinguished road
Quote:
Originally Posted by BLACKFIRE69 View Post
can you specify what the error message is?
https://cdn.discordapp.com/attachmen...4/Rec_0001.mp4

See the error in this link
Reply With Quote
  #11  
Old 05-08-2022, 07:47
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 692
Thanks: 481
Thanked 2,557 Times in 565 Posts
BLACKFIRE69 is on a distinguished road
Quote:
Originally Posted by Lord.Freddy View Post
sorry i didn't see any error with VclStyle. anyway i'll attach the non-messagebox version of XHash.
if this doesn't work either, send me your sample script so i can take a look.

.

Last edited by BLACKFIRE69; Today at 05:26.
Reply With Quote
The Following User Says Thank You to BLACKFIRE69 For This Useful Post:
Gehrman (05-08-2022)
  #12  
Old 05-08-2022, 11:10
Lord.Freddy's Avatar
Lord.Freddy Lord.Freddy is offline
Registered User
 
Join Date: Apr 2022
Location: ...
Posts: 54
Thanks: 222
Thanked 41 Times in 25 Posts
Lord.Freddy is on a distinguished road
Quote:
Originally Posted by BLACKFIRE69 View Post
sorry i didn't see any error with VclStyle. anyway i'll attach the non-messagebox version of XHash.
if this doesn't work either, send me your sample script so i can take a look.

.
here is my script, please fix the problem(Setup Crash when i chose Cancel button). thank

Last edited by Lord.Freddy; 16-08-2022 at 20:32.
Reply With Quote
The Following User Says Thank You to Lord.Freddy For This Useful Post:
Gehrman (05-08-2022)
  #13  
Old 14-01-2023, 08:08
Carldric Clement's Avatar
Carldric Clement Carldric Clement is offline
Registered User
 
Join Date: Aug 2014
Location: Toboh, Sabah, Malaysia
Posts: 596
Thanks: 599
Thanked 659 Times in 234 Posts
Carldric Clement is on a distinguished road
Nothing happen to see the Memo and also the Label which is quite on progressing hash generated on Delphi FMX. But the result works fine.

Generate with the directory
Code:
function GenerateHashMultiCallback(FileName: WideString; FileSize: extended;
  FileProgress, TotalProgress, TotalFiles, FileCounted,
  StatusCode: Integer): Boolean;
begin
  Form5.Label9.Text := Format(XH_FILENAME, [ExtractFileName(FileName)]);
  Form5.Label10.Text := Format(XH_FILEPOSITION, [ByteOrTb((FileSize * FileProgress) / 100), ByteOrTb(FileSize)]);
  Form5.Label11.Text := Format(XH_PERCENTAGE, [FileProgress]);

  Form5.Label12.Text := Format(XH_PERCENTAGE, [TotalProgress]);
  Form5.ProgressBar1.Value := TotalProgress;

  case StatusCode of
    H_FILE_HASHING_DONE:
      Form5.Memo1.Lines.Add(FileName + '  ... Done!');

    -1,-4,-5,-6,-7,-8,-9,-10,-12,-13:
      Form5.Memo1.Lines.Add('>>> Error code:  ' + IntToStr(StatusCode));
  end;

  Form5.Label14.Text := Format(XH_GENERATESTATUS, [FileCounted, TotalFiles]);

  ProcessMessages;
  Result := CancelAll;
end;
Attached Images
File Type: jpg Screenshot 2023-01-15 000449.jpg (67.1 KB, 187 views)
File Type: jpg Screenshot 2023-01-15 001013.jpg (65.7 KB, 184 views)
File Type: jpg Screenshot 2023-01-15 000719.jpg (73.2 KB, 185 views)
File Type: jpg Screenshot 2023-01-15 000734.jpg (76.6 KB, 184 views)

Last edited by Carldric Clement; 14-01-2023 at 08:11.
Reply With Quote
  #14  
Old 14-01-2023, 11:08
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 692
Thanks: 481
Thanked 2,557 Times in 565 Posts
BLACKFIRE69 is on a distinguished road
Quote:
Originally Posted by Carldric Clement View Post
Nothing happen to see the Memo and also the Label which is quite on progressing hash generated on Delphi FMX. But the result works fine.

Generate with the directory
...

XHashNext lib for Inno does not work on Delphi.

try this one.

PS: i haven't implemented error levels(StatusCode) in the callback functions for this example. you can add them to your project later.


.

Last edited by BLACKFIRE69; Today at 05:27.
Reply With Quote
The Following User Says Thank You to BLACKFIRE69 For This Useful Post:
Carldric Clement (14-01-2023)
  #15  
Old 14-01-2023, 23:53
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 692
Thanks: 481
Thanked 2,557 Times in 565 Posts
BLACKFIRE69 is on a distinguished road
Quote:
Originally Posted by BLACKFIRE69 View Post
XHashNext lib for Inno does not work on Delphi.

try this one.
@Carldric Clement

sorry, i forgot to mention that you can also use the Inno library for Delphi if the callback functions are method pointers.

this is the example...

.

Last edited by BLACKFIRE69; Today at 05:28.
Reply With Quote
The Following User Says Thank You to BLACKFIRE69 For This Useful Post:
Carldric Clement (15-01-2023)
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
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
Best Compression For Archiving brispuss PC Games 12 03-01-2020 13:34
Creating a compressed.bat and uncompressed.bat for game files red01 PC Games 14 10-03-2019 06:01
Frontlines: Fuel of War DCore PC Games - CD/DVD Conversions 6 31-05-2008 18:14
WHat is the point??!!! Quertas of Atlantis General Gaming 6 27-05-2006 22:35



All times are GMT -7. The time now is 09:56.


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