VB6 et les Références lors de la compilation

Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 - 20 juin 2011 à 13:32
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 - 20 juin 2011 à 16:24
Bonjour à tous,

J'ai une question qui me turlupine depuis un bon moment et je me décide à la poser.

Dans mes projets de développement j'ai un certain nombre de DLL et d'OCX persos qui sont référencés (ou non selon le cas) dans mes applis.

Je ne parlerais que des DLL, les OCX ne posant aucun problème. Parmi ces DLL, j'ai 3 comportements différents lors de la compilation d'un logiciel qui y fait référence.

Une DLL, disons la DLL A, contient plusieurs centaines de fonctions persos que je réutilise à l'envie dans mes softs. Elle est utilisé dans la totalité de mes projets (autres DLL, OCX et logiciels).
La DLL B contient des fonctions exclusivement réservés à SQL Serveur (connexion, requêtes et bien d'autres) et elle est utilisé dans beaucoup de projets y compris mes autres DLL et OCX qui utilisent SQL.
Enfin la DLL C est disons une DLL ponctuelle qui ne sera référencée que si nécessaire (par exemple l'encapsulation des fonctions GDI+, mais pas seulement).

Pour l'exemple suivant je précise que les DLL A et B ont été modifiées et recompilées et que la C n'a pas été modifiée MAIS recompilée car elle fait référence à la DLL A.
Lors de la compilation, à l'ouverture du projet, j'ai systématiquement une MessageBox m'indiquant qu'il est impossible de rétablir la référence à la DLL A. Normal, il suffit d'aller dans Projet/Références pour la rétablir et là je découvre que la DLL B est aussi manquante (toujours normal), par contre rien à signaler sur la DLL C.

Ma question, pourquoi (et sur quoi se base VB) pour émettre une MessageBox pour la DLL A, toujours indiquer la B comme manquante (sans MessageBox) et ignorer la C qui a pourtant été recompilée comme ses petites soeurs.

Voilà, pas de problème particulier, mais un comportement que j'aimerais comprendre dès fois que cela me serait utile dans l'avenir.

Merci de votre réponse (si quelqu'un la connait) !


Calade

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
20 juin 2011 à 16:13
Salut

Si ta DLL A a été modifiée et que la C l'utilise, c'est en compilant la C que ce genre de message peut apparaitre, pas du projet qui l'utilise (où alors j'ai pas compris le sens de ta question).

Les DLL ou OCX sont toujours des problèmes dès qu'on y touche alors qu'elles sont en cours d'utilisation/référencées.
Dans les propriétés de tes projets de DLL / OCX, vois le paramètre "Compatibilité de version" de l'onglet "Composant" et pointe le fichier DLL/OCX.
Mais cela ne changera pas grand chose au projet qui les utilise

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

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
20 juin 2011 à 16:24
Salut Jack et merci de me répondre,

Si ta DLL A a été modifiée et que la C l'utilise, c'est en compilant la C que ce genre de message peut apparaitre, pas du projet qui l'utilise


En fait ce n'est pas à la compil' que j'ai ce message mais à l'ouverture d'un projet référençant la DLL A.

Mais tu as peut-être raison en ce qui concerne ta suggestion, j'ai vérifié et toutes mes DLL sont "Pas de Compatibilité", quelle serait la meilleure chose, j'avoue que je n'ai pas tout compris à ce sujet.


Calade
0
Rejoignez-nous