Message d'erreur: La méthode de l'objet a échoué

Signaler
Messages postés
1
Date d'inscription
dimanche 31 décembre 2006
Statut
Membre
Dernière intervention
26 mai 2009
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
Bonjour mes amis,

J'ai commencé la programmation en vb6 sans avoir recours à lire des cours au préalable et ceci est grâce à vous et à vos discussions et à vos réponses pertinentes aux sujets entamés.

Aujourd'hui, je viens directement envers vous pour demander de l'aide.
Je suis un ingénieur débutant en informatique industrielle et automatisme. Récemment,  j'ai réalisé une application pour la collecte en temps réel des mesures depuis des afficheurs de signaux reliés à un PC via une communication Modbus. Ces mesures s'enregistrent dans une base de données Access.

Mon problème est le suivant: on a installé cette application chez un client, elle fonctionne durant un certain temps (à peu près 1h) et ensuite un message apparaît disant: << la méthode de l'objet a échoué>> .

Sur mon PC, j'ai eu jamais ce message d'erreur, et là j'ai pensé à ce qu'il soit une histoire d'incompatibilité des fichiers DLL  entre la machine où j'ai développé mon application et la machine hôte (mais j' en suis pas sûr).Et encore, j'ai une chose à vous avouer, c'est que je maitrise pas la méthode de la création d'un setup à mon application (Parfois, quant j'installe mon application sur un autre pc, je reçois au début de l'instation un messsage disant que les fichiers systèmes sont périmés.. )
J'arrive pas à résoudre ces problème, Je souhaite bien avoir des solutions de votre part à ceci :

1. la méthode exacte pour générer un executable (setup)
2. Résoudre le problème de l'apparution du message d'erreur : "la méthode de l'objet a échoué"

Je vous remercie infiniment pour votre collaboration 

 

1 réponse

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
75
Salut Zak

La première chose serait de compléter ton programme et d'installer des procédures de captage d'erreur : "On Error Goto monLabel" puis, sous le label "monLabel:", ajouter une MsgBox par exemple, qui te renverrait le maximum d'infos sur les conditions d'utilisation ua moment de l'erreur. Message classique :
   MsgBox "(leNomDeLaSubOuFunction) Erreur " & CStr(Err.Number) & " - " & Err.Description
ou plus :
si par exemple tu utilises un Winsock :
   MsgBox "Etat du Socket " & monWinsock.State
si tu as des paramètres important, en faire la liste dans une MsgBox

Tout ça pour savoir quelles sont les valeurs de tes paramètres au moment du crash.

Oui, ce problème peut venir d'un composant qui n'est pas de la bonne génération.
Quand tu crées un empaquetage VB6, le résultat te donne un fichier CAB, un Setup et un LST.
Dans ce LST, tu retrouves les infos de dépendance des composants qui sont référencés dans ton application.
Lorsque tu installes le programme grace au Setup, normalement, il met à jour les composants de la machine avec ceux qu'il a compressé dans le CAB.
Malgré tout, l'erreur à propos des fichiers système périmés est rare.
Est-ce que la machine de destination a bien un Windows à jour ?
De quelle version, ce Windows ?
Sous quel Windows as-tu développé et empaqueté l'application VB6 ?

Il y a de nombreux exemples d'utilisation de InnoSetup parmi les codes du site en cherchant "setup" : C'est un autre outil pour fabriquer des Setups plus modernes que l'empaquetage fourni avec VB6, mais quelques notions sur le nom et l'utilité des composants est requis pour bien le manier.
Voir aussi parmi les tutoriels en recherchant toujours le mot "setup"

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)