cs_38fred
Messages postés15Date d'inscriptionvendredi 11 juin 2004StatutMembreDernière intervention 7 juillet 2005
-
2 juil. 2004 à 17:59
cs_Houzefa
Messages postés453Date d'inscriptiondimanche 9 février 2003StatutMembreDernière intervention 9 juillet 2004
-
4 juil. 2004 à 13:46
J'ai développé une appli avec des variables publiques que je réinitialise à la fin de chaques procédures.
Cette appli travaille avec des classeurs excel et des documents word.
Le gros problème est qu'après un certain nombre (très variable) d'executions, l'appli bug et met le super message de windows pour envoyer le rapport d'erreur à microsoft.
Une procédure peut fonctionner 4 fois de suite mais pas la cinquième et sans explication. Il arrive meme qu'elle fonctionne 1 fois et puis bug.
J'ai même essayé en définissant des variables complètement différentes pour chaques procédures et le résultat est le même: bug au bout d'un temps X
Est ce que quelqu'un a une idée car je ne vois plus quoi faire!!!!
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 2 juil. 2004 à 18:12
Qu''st-ce qu'elle fait ton appli ?
Peut-être que tu surcharge la mémoire avec trop de données ? Peut-être qu'un appel API n'est pas correct ?
Quel est le code exact qui plante ? As-tu executé ton appli pas à pas ? Est-ce que cela le fait sur une seul machine ou sur n'importe quelle machine (si tu en as plusieurs à disposition) ?
cs_Houzefa
Messages postés453Date d'inscriptiondimanche 9 février 2003StatutMembreDernière intervention 9 juillet 20042 2 juil. 2004 à 18:24
vu que ca provient d'un nombre important d'exécutions ca doit etre un surchargement de la mémoire ; après chaque appel aux procédures, pense bien à détruire toutes les variables créées, à utiliser des méthodes CloseHandle, CloseKey, etc.
cs_38fred
Messages postés15Date d'inscriptionvendredi 11 juin 2004StatutMembreDernière intervention 7 juillet 2005 3 juil. 2004 à 14:22
Mon appli prend des données dans un classeur excel pour remplir des docs Word et ensuite affiche le doc word rempli.
J'ai fait du déboggage pas à pas et ça ne plante jamais sur la même ligne de commande.
Etant débutant j'ai un peu de mal a comprendre comment la mémoire peut etre saturée en utilisant 11 variables publiques et en les réinitialisants en fin de chaque procédure.
Comment fonctionnent les méthodes CloseHandle, CloseKey car je ne les connais pas et ne sais pas comment ca marche.
cs_Houzefa
Messages postés453Date d'inscriptiondimanche 9 février 2003StatutMembreDernière intervention 9 juillet 20042 4 juil. 2004 à 13:46
les méthodes CloseHandle et CloseKey sont des API de Windows ; CloseKey sert à fermer une clé du registre ouverte avec la fonction OpenKey, donc inutile si tu ne fais pas d'accès a une base de registre.
CloseHandle est plus générale, elle sert à fermer un "handle" ; pour la définir c'est :
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
mais dans ton cas si n'utilises pas d'API c'est inutile.
lors du débogage si ce n'est pas les memes lignes de commande qui plantent a chaque fois, c'est que le pb vient peut-etre des docs Word ouverts. essaye plutot d'utiliser le meme code avec des document Word de base très simple, et en "compliquant" petit à petit ces documents.