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 :
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
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); }
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 !
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
Quelqu'un peut-il m'aider SVP ?
Merci !
Partager