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

Signaler
Messages postés
35
Date d'inscription
samedi 12 septembre 2015
Statut
Membre
Dernière intervention
8 octobre 2016
-
Messages postés
35
Date d'inscription
samedi 12 septembre 2015
Statut
Membre
Dernière intervention
8 octobre 2016
-
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

12 réponses

Messages postés
15954
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mai 2021
546
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?
Messages postés
35
Date d'inscription
samedi 12 septembre 2015
Statut
Membre
Dernière intervention
8 octobre 2016
1
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
Messages postés
15954
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mai 2021
546
Peux tu poster une copie d'écran de la liste d'erreur ou du message?
Messages postés
35
Date d'inscription
samedi 12 septembre 2015
Statut
Membre
Dernière intervention
8 octobre 2016
1
Voici la copie d'écran :


Thomas
Messages postés
15954
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mai 2021
546
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
Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137
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/
Messages postés
15954
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mai 2021
546 >
Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021

Salut vb
nos messages se sont croisés ;)
Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137 >
Messages postés
15954
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mai 2021

bonsoir Whis
Messages postés
15954
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mai 2021
546
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?
Messages postés
35
Date d'inscription
samedi 12 septembre 2015
Statut
Membre
Dernière intervention
8 octobre 2016
1
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
Messages postés
15954
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mai 2021
546
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
Messages postés
35
Date d'inscription
samedi 12 septembre 2015
Statut
Membre
Dernière intervention
8 octobre 2016
1
C'est exactement ce que j'ai fait, mais l'erreur persiste.

Thomas
Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137
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
Messages postés
35
Date d'inscription
samedi 12 septembre 2015
Statut
Membre
Dernière intervention
8 octobre 2016
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
Messages postés
15954
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mai 2021
546
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??
Messages postés
35
Date d'inscription
samedi 12 septembre 2015
Statut
Membre
Dernière intervention
8 octobre 2016
1
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
Messages postés
15954
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mai 2021
546
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.

Messages postés
35
Date d'inscription
samedi 12 septembre 2015
Statut
Membre
Dernière intervention
8 octobre 2016
1
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