Fichier DLL manquant MAIS présent

alexmagnus Messages postés 6 Date d'inscription dimanche 23 novembre 2003 Statut Membre Dernière intervention 15 juin 2006 - 18 avril 2006 à 17:39
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 - 23 avril 2006 à 01:13
Bonjour,
j'ai actuellement un petit souci de fichier DLL. Voici mon bout de code :

dans l'Option Explicit :
Private Declare Function BMP2JPGAvecRedimpourVBFrance Lib "BMP2JPG" (ByVal a As String, ByVal b As String, ByVal c As Integer, ByVal xdim As Integer, ByVal ydim As Integer) As Integer
Dim Retour As Integer
Dim fichier, objetsystem

dans mon bouton :
rst.Open "SELECT * FROM Film WHERE Titre='" & TXTVersSQL(TxtTitre.Text) & "' ;", bd, adOpenDynamic, adLockOptimistic
SavePicture ImgFilm.Picture, App.path & "\Images\temp.bmp"
Retour = BMP2JPGAvecRedimpourVBFrance(App.path & "\Images\temp.bmp", App.path & "Images" & rst![idFilm] & ".jpg", 100, ImgFilm.Width, ImgFilm.Height) 'qualité réglable de 1 à 100(ici 50)
Set objetsystem = CreateObject("Scripting.FileSystemObject")
fichier = objetsystem.deletefile(App.path & "\Images\temp.bmp")
Set objetsystem = Nothing
Set fichier = Nothing
rst.Close

Je n'ai recopié que les choses qui me paraisse essentielles.
Mon code reprend donc une DLL de VBFrance, qui transforme les bitmap en jpg.
La ou le bas blesse, c'est qu'a l'execution VB me dit qu'il y a erreur 53, que la DLL est introuvable... or elle se trouve dans le meme dossier que l'application... Je ne comprends pas pourquoi, et c'est pourquoi je me tourne vers vous...
merci d'avance !

Alexmagnus

4 réponses

cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 2
18 avril 2006 à 18:03
Si cette DLL est une DLL compilée avec VB6, elle doit avoir été enregistrée dans la base de registres avant de pouvoir être utilisée.
0
alexmagnus Messages postés 6 Date d'inscription dimanche 23 novembre 2003 Statut Membre Dernière intervention 15 juin 2006
18 avril 2006 à 18:13
mon soucis vient du fait que dans un autre projet, assez similaire, cette meme DLL ne posait aucun probleme.
la DLL est compilée en VC++, ou quelque chose du genre, je crois.
etant deja utilisée par l'autre application qui tourne parfaitement, elle doit etre au pire deja enregistree dans la base de registres, non ?
0
alexmagnus Messages postés 6 Date d'inscription dimanche 23 novembre 2003 Statut Membre Dernière intervention 15 juin 2006
20 avril 2006 à 13:12
et bien, cette autre source est un programme de moi egalement, utilisant les memes lignes de commande pour ce qui est de l'appel à cette DLL. Certes, je l'ai fait il y a un an, mais je ne crois pas que ma memoire me fasse defaut, et que j'ai oublié de faire quelque chose.
Pour activer une DLL et la lier à son appli, y a t-il autre chose à faire que la definir dans la partie option explicit de la form ? Dans projet/references, peut-etre ?
vraiment, je ne vois pas pourquoi le nouveau programme ne trouve pas ce fichier. Meme compilé, ca ne marche pas, alors que le fichier DLL est dans le meme dossier...
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
23 avril 2006 à 01:13
Salut 197472 alexmagnus, salut =663949 jperre, salut mcs2006,

vérifies le nom exact de la dll, quand je la télécharge à partir de ce site, elle s'appelle bmp2jpg_BMP2JPG.dll.

Sinon, VB devrait la trouver dans le répertoire de l'exe (ou aussi dans le rep courant, dans le dossier système, dans le dossier windows, ou dans un dossier spécifié dans la variable d'environnement Path). Alors, pour être sûr, spécifies lui le chemin d'accès complet dans le paramètre lib de la déclaration.

Enfin, pour compléter l'aide que j'essaie de te fournir, il n'y a rien d'autre à faire, pour utiliser une dll, que ce que tu as déjà fait, et, éventuellement, vérifier l'accès à toutes ses dépendances (si elle a des dépendances). La registration auprès de Windows et l'ajout de références au projet VB ne sont nécessaires qu'aux objets COM.

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
Rejoignez-nous