Calade
Messages postés1207Date d'inscriptiondimanche 20 avril 2003StatutMembreDernière intervention 4 juin 2016
-
20 juin 2011 à 13:32
Calade
Messages postés1207Date d'inscriptiondimanche 20 avril 2003StatutMembreDerniè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) !
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)
Calade
Messages postés1207Date d'inscriptiondimanche 20 avril 2003StatutMembreDernière intervention 4 juin 201610 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.