Optimisation de la taille d'un fichier exécutable.

YounesM Messages postés 2 Date d'inscription dimanche 8 août 2004 Statut Membre Dernière intervention 18 juin 2007 - 9 juin 2007 à 16:39
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 18 juin 2007 à 11:03
Bonjour tout le monde.
J'ai développé une application dans un cadre professionnel avec VB6. L'application est composée de plusieurs feuilles (Forms), utilise un DataEnvironnement pour accéder à une base de données SQL Server. Après la compilation du code source et la génération du fichier exécutable, j'ai remarqué que la taille de ce fichier dépasse 40 Mo. Je veux savoir si cette taille est normale pour un exécutable et si ce n'est pas le cas comment faire pour optimiser la taille d'un fichier exécutable généré sous l'environnement VB6.
Merci.

4 réponses

jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
9 juin 2007 à 16:43
Bonjour,

40 Mo, c'est en effet beaucoup pour un exécutable !

Que contient-il d'autre, le code étant mis à part ? (images, etc...)
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
9 juin 2007 à 18:53
Evite de mettre des images dans ton prog : même si tu lui mets des images compréssées (style JPEG, il enregistrera quand même des bitmap dans ton exe, ce qui fait exploser la taille !). Cela vient sûrement de là !

Sinon, essaye de découper ton prog en plusieurs dll contenant les différents modules de ton appliations (par module, je veux dire : ensemble de feuille qui se rapportent à peu près à la même fonctionnalité). Malheureusement, ce genre de pratique est surtout à faire dès le début pour des soucis d'optimisation, car toute l'architecture du projet est à revoir du coup !

Perso, je fait des applications avec des dizaines de dll activeX de 500 Ko à 5 Mo chacun, et un tout petit exe de 32 Ko qui me sert uniquement de lanceur des feuilles des dll, ainsi mon prog occupe très très peu de mémoire vive, il ne charge que ce dont il a besoin (chargement uniquement des dll dont l'utilisateur a besoin, et déchargement dès qu'il n'en a plus besoin), et chargement express (quelques millisecondes).

Plus le programme sera gros, plus il prendra de mémoire vive, et plus il sera long à charger, tout est lié !
0
YounesM Messages postés 2 Date d'inscription dimanche 8 août 2004 Statut Membre Dernière intervention 18 juin 2007
18 juin 2007 à 11:00
Mon application comporte plusieurs feuilles, un objet DataEnvironnement pour l'accès à une base de données, des états réalisés avec CrystalReport.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
18 juin 2007 à 11:03
C'est sûrement tes états qui prennent le plus de place (avec les forms) !

Perso je n'utilise pas le Crystal report intégré à VB, il est lourd, trop limité, ne permet pas de personnaliser facilement les reports selon le client, et alourdit inutilement l'exe, j'utilise plutôt Report Manager, un outil gratuit et open source qui permet de faire mieux que les reports crystal, et sont utilisable sous forme de fichiers indépendant : un fichier par report, ce qui allège d'autant l'exe au final.
0