Bonjour,

Je veux vous demander de l'aide si c'est possible !
En effet, j'essaie de créer une simple DLL en C qui me permettra de lire un fichier sur le disque, me retourner 1 si le fichier texte a bien été ouvert ou 0 dans le cas contraire. Voila ce que j'ai fait :

Fichier .cpp qui contient la fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "programme_dll.h" 
#include <stdio.h> 
 
int _stdcall lire_fichier(const char *path) { 
 
FILE *fichier = NULL; 
 
fichier = fopen (path,"r"); 
 
if (fichier == NULL) 
return 0; 
else { 
return 1; 
 
} 
 
fclose(fichier); 
 
}
Le fichier .h qui contient le prototype de la fonction a exporter :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
#define __declspec(dllexport) // définit la macro EXPORT 
int __stdcall lire_fichier(const char *path); // spécifie que cette fonction est à exporter 
 
le fichier .def lui specifie le nom de la fonction que j'utiliserai sous VB: 
 
LIBRARY Programme_dll 
EXPORTS 
lire_fichier @1
La DLL a été générée avec succès et j'arrive a l'utiliser sur VB mais elle me retourne toujours 0 car la fonction n'arrive pas à lire le fichier texte ! Je me doute dans la façon de déclarer le chemin du fichier !

Quelqu'un peut-il m'aider SVP ?

Merci !