fix(build): lier SQLite dans l'exe, qui chargeait sqlite3.dll du PATH

Sans FireDAC.Phys.SQLiteWrapper.Stat, FireDAC charge sqlite3.dll au
demarrage. Sur ce poste ca marchait quand meme : le dossier bin
d'Embarcadero, qui en contient un, est dans le PATH. Sur une machine
sans Delphi, l'exe refusait de demarrer.

C'est le Win64 qui l'a revele — la DLL du PATH est 32 bits — mais le
Win32 livre etait casse de la meme facon chez quiconque n'a pas Delphi,
paquet prepare pour un tiers compris.

Prouve avec un PATH reduit a Windows : avec l'unite SQLite s'ouvre
(3.42.0), sans elle l'erreur exacte. Lire la table d'import ne
suffisait pas, le chargement est dynamique.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-09-16 23:15:42 +01:00
parent 0d4d4d518c
commit a7af9af47e
2 changed files with 20 additions and 0 deletions
+6
View File
@@ -14,6 +14,12 @@ uses
System.SysUtils, System.Classes, System.IOUtils, System.SyncObjs,
FireDAC.Comp.Client, FireDAC.Stan.Def, FireDAC.Stan.Async,
FireDAC.Phys.SQLite, FireDAC.DApt, FireDAC.Stan.Param,
// SQLITE LIE DANS L'EXE, SUR TOUTES LES PLATEFORMES. En Win32 FireDAC le
// faisait deja par defaut ; en Win64 il cherchait sqlite3.dll a cote de
// l'exe et refusait de demarrer. On ne livre qu'un exe, sans DLL : cette
// unite est ce qui le permet en 64 bits. Stat et non FDEStat — le coffre
// est un SQLite ordinaire, le chiffrement se fait cote JavaScript.
FireDAC.Phys.SQLiteWrapper.Stat,
FireDAC.FMXUI.Wait, FireDAC.Stan.Intf, FireDAC.UI.Intf,
Data.DB;