Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Créer l' executable de mon projet Delphi7 avec innosetup

1 réponse
Avatar
ookahh
Bonjour, J'aimerai savoir comment créer un executable à partir d'un programme ecrit sous Delphi7...
L'executable en question doit s'executer sans que Delphi soit installé sur le poste destinataire...
le probleme est que ce dernier ne s'executer pas sans que Delphi ne soit installer et voici le message qui s'affiche:'' pharmacie_de_garde.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru.'' Que faire?
Merci d'avance!
NB:mon projet s'appelle "pharmacie_de_garde".

1 réponse

Avatar
Jean-Claude BELLAMY
Le vendredi 01/07/2011 17:53:00, ookahh a écrit dans le message
<news: ce qui suit :
Bonjour, J'aimerai savoir comment créer un executable à partir d'un programme
ecrit sous Delphi7...
L'executable en question doit s'executer sans que Delphi soit installé sur le
poste destinataire...
le probleme est que ce dernier ne s'executer pas sans que Delphi ne soit
installer et voici le message qui s'affiche:'' pharmacie_de_garde.exe a
rencontré un problème et doit fermer. Nous vous prions de nous excuser pour
le désagrément encouru.'' Que faire?



Avant la compilation, il faut demander à ce qu'il n'y ait aucun package
d'exécution (= des packages qui sont chargés dynamiquement lors de
l'exécution).

NB : C'est un gag classique, auquel tous les débutants en Delphi (j'en
ai fait partie!) se sont fait avoir ...



L'intérêt des packages d'exécution est que le fichier exécutable est de
taille réduite (il ne contient que le code de l'appli proprement dite).
Par contre, il faut que les fichiers .BPL de ces packages soient
présents sur l'ordinateur (RTLxxx.BPL, VCLxxx.BPL, ...)
NB: Ce ne sont rien d'autre que des DLL.
BPL = Borland Package Libraries



Inversement, sans package d'exécution, le code de ces packages devra
être AJOUTÉ au code de l'appli lors de la compilation, si bien que la
taille de l'exécutable va augmenter notablement.

Je viens de comparer les résultats de compilation de mon appli
"SUPEREXEC", c'est édifiant :

Sans packages d'exécution :
Taille de code : 1728120 octets
Taille de l'exe : 3163648 octets
Packages utilisés : aucun (normal!)

Avec packages d'exécution :
Taille de code : 840216 octets
Taille de l'exe : 2148864 octets
Packages utilisés : RTL100.BPL, VCL100.BPL, VCLX100.BPL, LSCOMP.BPL,
VCLSMP100.BPL
(dans le cas de SUPEREXEC. Avec d'autres applis ce serait différent)



Pour avoir une appli totalement indépendante de Delphi, il faut donc
compiler SANS packages d'exécution :

Menu Projet / Options
Sélectionner "Packages"
Zone "Packages d'exécution"
DÉCOCHER la case "Construire avec les packages d'exécution"


On peut vérifier, une fois la compilation achevée, :

Menu Projet / Informations sur xxxxxxxxx.exe
Dans le panneau de droite "packages utilisés", on doit lire :

(Vide)



--

May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP Expert IT Pro]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr