Pb avec windows quand l'appli est compilée

whombat Messages postés 188 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 novembre 2011 - 30 mars 2006 à 11:33
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 - 1 avril 2006 à 16:54
Bonjour,

J'ai une appli qui fonctionne parfaitement en interprété. Mais dès que je crée un exe et que j'envoie l'exe, Windows me met :
"
Planning.exe a généré des erreurs et sera fermé par Windows. Vous devrez redémarrer le programme. Un journal des erreurs est en cours de création."

1 - Je n'arrive pas à trouver ce fameux journal, je ne sais ni où Windows le met ni comment il l'appelle. Perut-être qu'il m'apprendrai ce qui coince.

D'autre part, à votre avis, qu'est-ce qui peut faire qu'un programme plante en exe ? Mon appli est lourde, 1,7Mo. Est cela ?

Merci de tous vos bons tuyaux.

12 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
30 mars 2006 à 11:45
Salut,

Je ne pense pas que cela vienne de la taille de ton exe.

Il peut y avoir plein de raisons a ce probleme

Je sais que moi j en ai eu notament ce probleme lorsque je ne déchargais pas correctement mes objet chargés.

Ou bien alors que je faisais appel a une fonction a un moment ou il ne fallait pas
ex:

End
Unload Me

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
cs_etniqs Messages postés 201 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 10 mai 2016
30 mars 2006 à 12:13
ou bien une erreur de type, ou bien un pb de lien vers un fichier ou bien une des 10000 erreurs communes quand le code n'est pas bien tapé : mettre range au lien de sheets(...).range, mettre instr() au lieu de vba.instr

et de manière générale, toute erreur non gérée !

Et voila pourquoi il est important de se peler option explicit !

etc,etc

coïto ergo sum
0
whombat Messages postés 188 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 novembre 2011
30 mars 2006 à 14:18
Merci de vos réponses.
C'est pourtant avec Option explicit...
Et pour ce fameux fichier, vous avez une idée ?
0
cs_etniqs Messages postés 201 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 10 mai 2016
30 mars 2006 à 15:10
avant de compiler est-ce que tu l'as testé en faisant ctrl+F5 et non F5 tout seul ??

(1,7 Mo n'est pas énorme,)

coïto ergo sum
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
whombat Messages postés 188 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 novembre 2011
31 mars 2006 à 00:46
Je ne sais pas à quoi ça sert mais je viens de le faire (ctl F5) et c'est OK.
Je recontrôle tous mes écrits pour voir ce que vous disiez : un end avant un unload, etc...
Je suis trop de bas niveau pour faire ce genre d'erreur qui doit arriver quand on tape trop vite, que la pensée va plus vite que la main. Moi, le clavier, je lui parle doucement...
Et ce fichier ??? Personne n'a une idée sur son nom ou son lieu de stockage ?
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
31 mars 2006 à 08:44
Re,

Ctrl + F5 Permet de lancé ton programme en Interprété en le compilant au préalable (permet de voir d'éventuelles erreurs et oublis)

Pour le fichier as tu regardé si par hasard il ne le mettait pas dans le répertoire de l'application.

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
whombat Messages postés 188 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 novembre 2011
31 mars 2006 à 11:49
Non, il n'est pas dans le répertoire de l'appli. Il porte pas le nom de l'appli, j'ai cherché, du style appli.log ou appli.err..
Rien trouvé
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
31 mars 2006 à 13:20
Salut whombat, salut julien, salut etniqs,

je suis d'accord avec julien, aucun rapport avec la taille de ton _exe, trop petit ton _exe pour ça! (etniqs oui, mais toi non! :) , j'délire parce que je viens de lire précisément la devise d'etniqs)

bon un peu de sérieux, ou je vais me faire bannir.

je cautionne ce que dit etniqs "et de manière générale, toute erreur non gérée ", et je rajoutes, Es-tu sûr d'avoir un traitement d'erreur dans toutes tes fonctions? Si non, commences par relire celles qui n'en ont pas (c'est sûr un traitement d'erreur dans toutes les fonctions, est-ce bien raisonnable? en temps normal, non, mais dans ton cas, ça peut aider).

Pourquoi ce problème n'arrive-t-il qu'à la fin de la réalisation de ton application, ne l'as tu jamais compilée et testée avant? Utilises-tu des composants tiers? sont-ils bien utilisés (tu vois, je commence par dire que c'est de la faute des autres)? Utilises-tu des composants perso? Sont-ils testés unitairement?

Je suis aussi d'accord avec julien "Ctrl + F5 ", mais quels réglages utilises-tu au niveau des options de VB, quant à la récupération d'erreurs ( arrêt sur toutes les erreurs, arrêt sur les modules de classes, arrêt sur les erreurs non gérées)?

Ton exécutable, quand tu le lances (ou plutôt où tu le lances), est-il capable d'accéder à toutes les dépendances qu'il pourrait avoir?

Pour le journal, il me semble qu'il ne faut pas trop y croire! Mais bon, si tu es sur un NT (4,2k,xp), cherches éventuellement dans l'observateur d'évènements (outils d'administration).
Sinon, déclenches ton crash, et fait une recherche de fichier avec la date du jour, et si journal il y a, journal tu trouveras (ou alors, il est parti directement chez Microsoft, et ils ne devraient plus tarder, là :) ).


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
whombat Messages postés 188 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 novembre 2011
31 mars 2006 à 23:01
Oui, je m'arrête sur toutes les erreurs, (je n'utilise pas de module de classes, trop compliqué pour moi), j'enregistre avant, et tout et tout.

Je teste la compil de temps en temps parce que là il fait vraiment le tour. Et c'est parfait.

Mais, et ça peut vous mettre sur une piste, lorsque je déclare une variable Long pour le résultat des heures ramenées en secondes (Hr * 60 * 60), il plante, je suis obligé de les déclarer en Currency. et c'est juste pour un max de 82800 Sc ... Alors pour les milli-secondes... Mais même : 82800000 ça devrait passer.

Ah, j'oubliais, je suis en VB4.

Un grand merci, à propos, pour toutes vos réponses. C'est bon de se sentir soutenu.
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
1 avril 2006 à 00:03
'Soir,

tu fais bien de préciser pour VB4!
une question, ta variable (et tes variables) sont déclarées où? formulaire ou module?
connais-tu la taille totale de tes variables par module, procédure ou formulaire (ne la calcule que s'il y en a beaucoup [genre 20 variables dasn une procédure, ou 1 tableau de 1000 Currency,...])?

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
whombat Messages postés 188 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 19 novembre 2011
1 avril 2006 à 05:58
Bonjour à tous,

Mes variables sont déclarées dans un module, j'ai 4 modules.

J'ai 7 déclarations de Type
17 Const
17 tableaux de 15 éléments * 2 en String
1 " 380 * 1 en Integer
78 variables String
49 variables Integer
5 variables Long
1 variable variables Currency
7 variables Date
1 variable Frame

Ouala, c'est tout.

J'ai pas l'impression, comptenu de la taille de l'ensemble, que cela fasse beaucoup, non ?

Il y a quand même 22 Form + 4 Modules
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
1 avril 2006 à 16:54
Salut whombat,

c'était juste relatif à des limites de VB (souvent toutes basées sur du 64Ko), mais tu en as l'air loin (l'air seulement peut-être, tailles des types, localisation de leur utilisation, variables dans les formes)
bon parti comme c'est, tu en as pour 2 semaines. A ce stade là, il faut laisser tomber les hypothèses, et passer au curatif :


Est-ce réellement au démarrage de ton application que celle-ci plante?


Si oui, tu vas tracer chaque ligne d'instruction (au début toutes les 15 lignes, puis quand le bloc est identifié, toutes les lignes), de :

- ton Sub Main (si tu l'utilises)
- ton FormMain_Initialize (si tu l'utilises)
- ton FormMain_Load (si tu l'utilises)
etc, jusqu'au plantage!

Tracer comment? Ben comme tu veux, fichier texte en mode append, msgbox, beep,...

ce que tu veux.
Et après, tu reviens nous le dire, si tu vois pas pourquoi cette affreuse ligne plante!
à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
Rejoignez-nous