Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de chargement d'une Dll Visual C++ en VB

2 réponses
Avatar
cheickna Traoré
Bonjour à tous,

J'ai développé une DLL en Visual C++6.0 qui exporte des symboles dans le but
de l'utiliser dans une application VB. La dll fonctionne très bien quand je
l'utilise dans un programme C++ mais en VB j'ai une erreur 53 "Impossible de
trouver le fichier" alors qu'il existe dans le répertoire d'exécution.
Voici un aperçu de l'entete du fichier Visual C++ :

//==============================================================
#ifdef CRYPTO_EXPORTS
#define CRYPTO_API __declspec (dllexport)
#else
#define CRYPTO_API __declspec (dllimport)
#endif

// Performs the MD5 algorithm on a char* string, returning the results as a
char*.
CRYPTO_API char* __stdcall GetMD5String(char* szString);

// Performs the MD5 algorithm on a file (binar or text),returning the
results as a char*.
// Returns NULL if it fails.
CRYPTO_API char* __stdcall GetMD5File(char* szFilename,int
CreateCheckFile=0);
//==============================================================


Voici mes déclaration en Visual Basic :

Declare Function GetMD5String Lib "Md5Sum.dll" (ByVal sString As String) As
String
Declare Function GetMD5File Lib "Md5Sum.dll" (ByVal sFileName As String,
ByVal iCreateFile As Integer) As String

Et j'utilise une routine interne comme suit:

Dim MD5String As String * 255
Dim MD5File As String * 255

MD5String = Space(255)
MD5File = Space(255)
MD5String = GetMD5String("Ceci est un test")
MD5File = GetMD5String("D:\DATA\C\Projet\Vb\GESTION\DTN\Liste.TXT")

J'ai une erreur 53 " Fichier Md5Sum non trouvé"

Ai-je oublié quelque chose ? Je pense que je n'ai pas besoin de fichier
.DEF car les fonctions sont exportées avec l'expression __declspec
(dllexport)
et __stdcall est necessaire pour l'utilisation dans VB ? ESt-ce que je me
trompe ???


Merci d'avance et toutes mes excuses pour la taille du message

2 réponses

Avatar
Stéphane Maillard
Bonjour,

Je vous conseil de mettre votre DLL dans le Répertoire de Windows ou
System32, avez vous bien enregistré votre DLL avec REGSVR32 ?

--

Cordialement

Stéphane Maillard
Rixy software
Saint Malo

"cheickna Traoré" a écrit dans le message de
news:3fecded8$0$1152$
Bonjour à tous,

J'ai développé une DLL en Visual C++6.0 qui exporte des symboles dans le


but
de l'utiliser dans une application VB. La dll fonctionne très bien quand


je
l'utilise dans un programme C++ mais en VB j'ai une erreur 53 "Impossible


de
trouver le fichier" alors qu'il existe dans le répertoire d'exécution.
Voici un aperçu de l'entete du fichier Visual C++ :

//============================================================= > #ifdef CRYPTO_EXPORTS
#define CRYPTO_API __declspec (dllexport)
#else
#define CRYPTO_API __declspec (dllimport)
#endif

// Performs the MD5 algorithm on a char* string, returning the results as


a
char*.
CRYPTO_API char* __stdcall GetMD5String(char* szString);

// Performs the MD5 algorithm on a file (binar or text),returning the
results as a char*.
// Returns NULL if it fails.
CRYPTO_API char* __stdcall GetMD5File(char* szFilename,int
CreateCheckFile=0);
//============================================================= >

Voici mes déclaration en Visual Basic :

Declare Function GetMD5String Lib "Md5Sum.dll" (ByVal sString As String)


As
String
Declare Function GetMD5File Lib "Md5Sum.dll" (ByVal sFileName As String,
ByVal iCreateFile As Integer) As String

Et j'utilise une routine interne comme suit:

Dim MD5String As String * 255
Dim MD5File As String * 255

MD5String = Space(255)
MD5File = Space(255)
MD5String = GetMD5String("Ceci est un test")
MD5File = GetMD5String("D:DATACProjetVbGESTIONDTNListe.TXT")

J'ai une erreur 53 " Fichier Md5Sum non trouvé"

Ai-je oublié quelque chose ? Je pense que je n'ai pas besoin de fichier
.DEF car les fonctions sont exportées avec l'expression __declspec
(dllexport)
et __stdcall est necessaire pour l'utilisation dans VB ? ESt-ce que je


me
trompe ???


Merci d'avance et toutes mes excuses pour la taille du message









---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.553 / Virus Database: 345 - Release Date: 18/12/2003
Avatar
cheickna Traoré
En mettant la dll dans system32 mon appli vb arrive à le trouver mais une
erreur 453 Point d'entréé GetMD5String d'une dll introuvable dans MD5Sum.dll



"Stéphane Maillard" <rixysoftware(stop-pub-spam)@nerim.fr> a écrit dans le
message de news: bsj0j1$1vs5$
Bonjour,

Je vous conseil de mettre votre DLL dans le Répertoire de Windows ou
System32, avez vous bien enregistré votre DLL avec REGSVR32 ?

--

Cordialement

Stéphane Maillard
Rixy software
Saint Malo

"cheickna Traoré" a écrit dans le message de
news:3fecded8$0$1152$
> Bonjour à tous,
>
> J'ai développé une DLL en Visual C++6.0 qui exporte des symboles dans le
but
> de l'utiliser dans une application VB. La dll fonctionne très bien quand
je
> l'utilise dans un programme C++ mais en VB j'ai une erreur 53


"Impossible
de
> trouver le fichier" alors qu'il existe dans le répertoire d'exécution.
> Voici un aperçu de l'entete du fichier Visual C++ :
>
> //============================================================= > > #ifdef CRYPTO_EXPORTS
> #define CRYPTO_API __declspec (dllexport)
> #else
> #define CRYPTO_API __declspec (dllimport)
> #endif
>
> // Performs the MD5 algorithm on a char* string, returning the results


as
a
> char*.
> CRYPTO_API char* __stdcall GetMD5String(char* szString);
>
> // Performs the MD5 algorithm on a file (binar or text),returning the
> results as a char*.
> // Returns NULL if it fails.
> CRYPTO_API char* __stdcall GetMD5File(char* szFilename,int
> CreateCheckFile=0);
> //============================================================= > >
>
> Voici mes déclaration en Visual Basic :
>
> Declare Function GetMD5String Lib "Md5Sum.dll" (ByVal sString As String)
As
> String
> Declare Function GetMD5File Lib "Md5Sum.dll" (ByVal sFileName As String,
> ByVal iCreateFile As Integer) As String
>
> Et j'utilise une routine interne comme suit:
>
> Dim MD5String As String * 255
> Dim MD5File As String * 255
>
> MD5String = Space(255)
> MD5File = Space(255)
> MD5String = GetMD5String("Ceci est un test")
> MD5File = GetMD5String("D:DATACProjetVbGESTIONDTNListe.TXT")
>
> J'ai une erreur 53 " Fichier Md5Sum non trouvé"
>
> Ai-je oublié quelque chose ? Je pense que je n'ai pas besoin de fichier
> .DEF car les fonctions sont exportées avec l'expression __declspec
> (dllexport)
> et __stdcall est necessaire pour l'utilisation dans VB ? ESt-ce que je
me
> trompe ???
>
>
> Merci d'avance et toutes mes excuses pour la taille du message
>
>
>
>
>


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.553 / Virus Database: 345 - Release Date: 18/12/2003