L'exigence "Single EXE" est-elle nécessaire à des fins de distribution ou doit-elle être également un fichier .EXE unique lors de l'exécution sur la machine du client? Si c'est seulement à des fins de distribution, vous pouvez ajouter les fichiers DLL à la fin de votre fichier .EXE, puis - au démarrage du programme - les extraire du fichier .EXE et les stocker localement sous forme de fichiers .DLL, quelquechose comme ceci:
VAR F,O : FILE;
VAR BUF : ARRAY[1..<MaxSizeOfDLLs>] OF BYTE;
ASSIGN(F,ParamStr(0)); RESET(F,1);
SEEK(F,<OriginalExeSize>);
BLOCKREAD(F,BUF,<FirstDllSize>);
ASSIGN(O,<NameOfFirstDLL>); REWRITE(O,1);
BLOCKWRITE(O,BUF,<FirstDllSize>); CLOSE(O);
BLOCKREAD(F,BUF,<SecondDllSize>);
ASSIGN(O,<NameOfSecondDLL>); REWRITE(O,1);
BLOCKWRITE(O,BUF,<SecondDllSize>); CLOSE(O);
SEEK(F,<OriginalExeSize>); TRUNCATE(F); CLOSE(F)
Quick'n'Styty, pas correctement formaté, etc., mais devrait vous donner l'idée de base.
Je suppose que vous parlez des deux ouverts SSL DLL qui utilise Indy? Ce dont vous avez besoin, c'est d'une implémentation Delphi de ce que font ces DLL, ce dont je doute est disponible. –
Oui, j'en ai parlé. Mais je ne pense pas qu'une implémentation Delphi des bibliothèques OpenSSL soit la seule solution. En tout cas merci pour la clarification. –