Probleme de compatibilité DLL windows 7

Bonjour,

Mon entreprise utilise divers applications développées en Vb 6.0 notamment. Les pc tournaient sur xp , la migration vers windows 7 est en cours. Or en lançant les appli j’ai par exemple ce message :

" Le point d’entrée de procédure DplDrawRectangle est introuvable dans la bibliothèque de liens dynamiques Display.dll "

Quand je lance l’appli en “XpMode” sous 7 cela fonctionne parfaitement, mais ce n’est pas une solution valable , comment trouver la fameuse DLL “display.dll” compatible ??

Merci d’avance

Bonjour ,

Aucune idée ? personne ?

Ce n’est pas terrible comme méthode mais tu peux rechercher et récupérer la DLL sur ton XP puis la coller dans Seven.
Si tu ne la mets avec les autres DLL, ajoute le dossier contenant dans ton classpath.

Mais je ne vois pas pourquoi le XP mode te déplait puisque qu’il est justement là pour ce genre de prob

Et le mode compatibilité XP tout simplement ?

Salut,

Je pense qu’il n’y a que le mode de compatibilité Xp qui soit une solution viable, les applications ayant été développées avant Seven. :expressionless:
Remplacer une dll par celle d’XP n’est pas très propre à mon avis et peut causer des incompatibilités sur d’autres logiciels.

Tu peux aussi la bundler avec l’application, les dll sont chargées en fonction du PATH.

Merci , j’essaye ces quelques solutions dans quelques heures quand je recupere un Poste Windows 7.

Et j’ai une autre question :wink: :

toujours le meme probleme d’incompatibilité , une erreur d’execution DLL , mais cette fois il s’agit d’un composant .ocx qui ne pouvant pas etre enregistré dans la base de registre …

Kesako ???

Merci pour tout,

J’ai vérifié, remplacer la dll “display.dll” a partir de celle du cache est inutile le probleme est le meme .

Le probleme etant que sur Xp “display.dll” n’existe pas , comment cela se fait-il qu’en lancant mon appli , Windows 7 m’indique un probleme de cette dll ?

Personne ? :frowning:

certainement une dépendance avec une autre dll, qui ne devait pas exister sous XP.

Dans ce cas comment repérer la DLL en question et comment régler le probleme une fois celle ci identifiée ?

Tu l’outil Depends (http://www.dependencywalker.com/) [ne cherche pas sur google, sauf si tu as des soucis d’incontinence :D] qui peut t’afficher l’arbre de dépendance des DLL à partir d’une DLL ou d’une exe (et aussi celle qui plante).

JE viens de comprendre qq chose …

Pour résumer , quand je lance mon installation , a la fin de celle ci un autre fichier d’install est exécuté .

Et visiblement celui ci crée un dossier “IV” qq chose dans “program files” , et c’est la dedans que se trouve le fichier “display.dll” en question.

Effectivement , je me suis rendu compte de cela , car sur windows 7 un tel fichier “display.dll” existe dans windows… , or sur Xp il n’existe pas dans Windows .

C’est donc que maintenant que j’ai compris que cette Dll etait le fruit de l’installation et qu’elle etait stockée dans “program files” …

Peut etre est ce donc un probleme de chemin … pendant l’execution est ce que l’appli utilise le bon fichier ? je vois pas pourquoi elle ne le ferait pas remarquez …

Donc j’avance mais je suis encore + perdu … il ne s’agit pas d’un probleme de compatibilié des Dll windows mais bien d’une Dll spécifiques à l’appli …