Impossible de résoudre la référence COM [Résolu]

Thomas13012 35 Messages postés samedi 12 septembre 2015Date d'inscription 8 octobre 2016 Dernière intervention - 4 août 2016 à 17:59 - Dernière réponse : Thomas13012 35 Messages postés samedi 12 septembre 2015Date d'inscription 8 octobre 2016 Dernière intervention
- 6 août 2016 à 20:47
Bonjour,
J'ai besoin d'aide. Merci d'avance.
Lorsque que j'exécute mon projet, ou que je régénère la solution, j'obtiens l'erreur suivante :
Erreur 29 Impossible de résoudre la référence COM "fcfb3d2e-a0fa-1068-a738-08002b3371b5" version 6.0. L'importateur de bibliothèques de types a détecté une erreur lors de la vérification de type. Essayez d'importer sans membres de classe.
La référence dont il est question correspond à la référence "Visual Basic objects and procedures"
Il semblerait que ce soit une erreur lors de la vérification d'un type, mais je ne sais pas à quel endroit
dans le code ni comment y parvenir.
Quelqu'un peut-il m'aider ?
Merci à vous.
Thomas
Afficher la suite 

18 réponses

Répondre au sujet
Whismeril 10603 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 18 décembre 2017 Dernière intervention - 4 août 2016 à 18:13
0
Utile
Bonjour, quand on fait une recherche sur le nom de ta référence, on tombe
https://support.microsoft.com/fr-fr/kb/262976
Ça parle de VB6, et tu postes en VB.net.

Donc peux tu lever le doute sur ton langage?
Commenter la réponse de Whismeril
Thomas13012 35 Messages postés samedi 12 septembre 2015Date d'inscription 8 octobre 2016 Dernière intervention - 5 août 2016 à 10:03
0
Utile
Bonjour,
Je suis également tombé sur ce lien. Mais je confirme qu'il s'agit bien de VB.Net (version 2013) et non de VB6.
Merci pour votre réponse.

Thomas
Commenter la réponse de Thomas13012
Whismeril 10603 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 18 décembre 2017 Dernière intervention - 5 août 2016 à 10:20
0
Utile
Peux tu poster une copie d'écran de la liste d'erreur ou du message?
Commenter la réponse de Whismeril
Thomas13012 35 Messages postés samedi 12 septembre 2015Date d'inscription 8 octobre 2016 Dernière intervention - 5 août 2016 à 11:21
0
Utile
4
Voici la copie d'écran :


Thomas
Whismeril 10603 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 18 décembre 2017 Dernière intervention - 5 août 2016 à 11:49
hum ça n'aide pas.

Par contre l'utilisation de Goto est très très très fortement déconseillé depuis VB1.... Peut être même avant.

En .Net on gère les erreurs avec Try Catch
vb95 1388 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 15 décembre 2017 Dernière intervention - 5 août 2016 à 11:52
bonjour Thomas13012
Plusieurs remarques suite à ta copie d'écran
1) en VB Net on n'utilise plus On Error Goto ( on préfère les structures de code Try - Catch - End Try )
2) Je vois que tu explores des partitions logiques d'après le bout de codes Les dimensionnements en Integer risquent de provoquer des dépassements de capacités ( surtout si c'est pour représenter le nombre d'octets d'une partition ou le nombre de secteurs de celle-ci )
3)Tu as 36 avertissements : as-tu mis Option Strict et Option Explicit en propriété pour ton projet et supprimer la référence à Microsoft Visual Basic dans les références du projet ( cette référence assure la compatibilité avec VB 6 : si on fait de VB NET autant le faire à fond et ne pas utiliser des bouts de code VB 6)

un petit lien bien intéressant pour un cours VB Net : http://plasserre.developpez.com/cours/vb-net/
Whismeril 10603 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 18 décembre 2017 Dernière intervention > vb95 1388 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 15 décembre 2017 Dernière intervention - 5 août 2016 à 12:55
Salut vb
nos messages se sont croisés ;)
vb95 1388 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 15 décembre 2017 Dernière intervention > Whismeril 10603 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 18 décembre 2017 Dernière intervention - 5 août 2016 à 18:43
bonsoir Whis
Commenter la réponse de Thomas13012
Whismeril 10603 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 18 décembre 2017 Dernière intervention - 5 août 2016 à 11:51
0
Utile
Dans tes références est-ce que tu as désactivé Visual Basic (ça importe des instruction vb6, d'une part ça mélange torchons et serviettes et d'autre part ça ne marche pas toujours)?

Est ce qu'Option Strict et Option Explicit sont à On?
Commenter la réponse de Whismeril
Thomas13012 35 Messages postés samedi 12 septembre 2015Date d'inscription 8 octobre 2016 Dernière intervention - 5 août 2016 à 13:23
0
Utile
Merci à vous tous pour vos commentaires.
Pour l'interception d'erreurs par Goto, je sais bien qu'en Vb.Net il est préférable d'utiliser Try Catch - End Try. Mais là je récupère du code Vb6 que je dois nettoyer par la suite. J'ai bien Option Strict et Option Explicit à On. Je n'ai pas encore décocher la référence à Microsoft Visual Basic car j'attends de nettoyer mon code. En fait, pour tout dire, tout marchait bien jusqu'à ce que j'intègre le composant Keysta32.ocx pour rester compatible dans un 1er temps avec le code précédent. J'ai ensuite supprimer toute référence à ce contrôle (MicroHelp Key State Control) en utilisant à la place My.Computer.Keyboard.CapsLock(NumLock...) et GetKeyState(TOUCHE_INS). Mais l'erreur persiste. Voilà, vous savez tout.

Thomas
Commenter la réponse de Thomas13012
Whismeril 10603 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 18 décembre 2017 Dernière intervention - 5 août 2016 à 15:21
0
Utile
C'est exactement ce que je disais plus haut, mettre du vb6 dans .net n'est pas un bon calcul.

Sauvegarde les fichiers de codes, crée un nouveau projet et importe tes fichiers dedans
Commenter la réponse de Whismeril
Thomas13012 35 Messages postés samedi 12 septembre 2015Date d'inscription 8 octobre 2016 Dernière intervention - 5 août 2016 à 18:50
0
Utile
1
C'est exactement ce que j'ai fait, mais l'erreur persiste.

Thomas
vb95 1388 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 15 décembre 2017 Dernière intervention - 5 août 2016 à 19:09
Quelques pistes
1) en VB 6 les tableaux commencent à 1 ( sauf si on met Option Base à 0) alors qu'en VB Net ils commencent toujours à 0
2) un Long VB 6 devient un Integer en VB Net
VB6 -----> VBNET
integer----> short
long --------->integer

Un code VB6 n'est jamais réutilisable tel quel en VB Net
Il faut se dire : comment faire en VB Net pour faire une instruction VB6 ou comment faire en VB Net pour avoir le même fonctionnement en VB 6 pour un bloc de code bien défini .
Et encore c'est se passer de pas mal de nouveautés puissantes de VB Net
Commenter la réponse de Thomas13012
Thomas13012 35 Messages postés samedi 12 septembre 2015Date d'inscription 8 octobre 2016 Dernière intervention - 5 août 2016 à 19:21
0
Utile
1
Vos différents commentaires m'ont mis sur la voie.
J'ai seulement supprimer les références "Visual Basic objects and procedures" et "Visual Basic runtime objects and procedures" et mon projet fonctionne de nouveau.

Il suffisait de prendre le message d'erreur au pied de la lettre.

Merci

Thomas
Whismeril 10603 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 18 décembre 2017 Dernière intervention - 6 août 2016 à 12:30
Ce qui voudrait dire qu'en créant le nouveau projet comme je te l'avais suggéré tu avais remis ces références??
Commenter la réponse de Thomas13012
Thomas13012 35 Messages postés samedi 12 septembre 2015Date d'inscription 8 octobre 2016 Dernière intervention - 6 août 2016 à 15:21
0
Utile
Bonjour,

Je n'ai pas crée un nouveau projet.
Mais ces références ont dû se rajouter quand j'ai intégré le composant de MicroHelp Key State (Keysta312.ocx). Quand l'erreur est apparue, j'ai supprimé ce composant et j'ai nettoyé les références relatives à MicroHelp en ignorant les références "Visual Basic objects and procedures" et "Visual Basic runtime objects and procedures" dont j'ignorais la présence. L'erreur persistant, j'ai demandé de l'aide. Puis, en relisant le message d'erreur, j'ai pensé à vérifier la référence, après l'avoir identifiée par sa propriété "Identité" (fcfb3...), et je l'ai supprimée avec sa voisine (runtime). Et tout s'est remis à fonctionner correctement. A l'avenir, je vais donc éviter les anciens contrôles de mon code VB6 précédent, et utiliser les APIs correspondantes et classes VB.Net (dans ce cas "GetKeyState(TOUCHE_INS)" et My.Computer.Keyboard.CapsLock(NumLock...) qui donnent entière satisfaction, comme vous m'avez suggéré d'abandonner toute référence à VB6.
Encore merci pour votre soutien et votre support.

Thomas
Commenter la réponse de Thomas13012
Whismeril 10603 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 18 décembre 2017 Dernière intervention - 6 août 2016 à 18:00
0
Utile
Ha j'avais donc mal compris, quand j'ai dit
Sauvegarde les fichiers de codes, crée un nouveau projet et importe tes fichiers dedans

et que tu as répondu
C'est exactement ce que j'ai fait, mais l'erreur persiste.

Commenter la réponse de Whismeril
Thomas13012 35 Messages postés samedi 12 septembre 2015Date d'inscription 8 octobre 2016 Dernière intervention - 6 août 2016 à 20:47
0
Utile
En fait, c'est ce que j'avais fait en construisant mon projet avant que l'erreur ne survienne. Puis après l'apparition de cette erreur, j'ai reconstruit le projet de la même façon et l'erreur est revenu dès que j'ai intégré le composant de MicroHelp. Et puis la suite vous la connaissez, en me mettant sur la piste de l'incompatibilitté des références VB6... $&@&# de Keysta312.ocx :).

Thomas
Commenter la réponse de Thomas13012

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.