Bonjour,
J'ai deux fonctions sont enregistrées dans une dll ecrite en langage C sur Dec-c++ :
J'ai une fonction A qui renvoie une donnée et une fonction B qui appelle la fonction A, et ecrit la donnée renvoyée dans un fichier .txt.
Le fichier .h ressemble à ça :
Code C/C++ :
#include <stdio.h>
#include <string.h>
#include <windows.h>
#define export __declspec(dllexport)
int méthode_A();
export int __stdcall méthode_B(paramètres pris par la fonction);
D'autre part, j'ai un module vba-Excel. Je souhaite pouvoir appeler la méthode B dedans via la dll.
Code Visual Basic :
Public Declare Sub méthode_B Lib "madll.dll" (paramètres)
Sub test()
Call méthode_B(paramètres que je lui passe)
End Sub
Le but est qu'en exécutant ce code, le fichier texte se crée avec la donnée (générée par la méthode A) dedans.
Cependant, ce qui arrive est que le fichier se crée mais reste vide.
J'ai testé les méthodes C séparemment et le problème ne vient pas de ces méthodes.
Je pense qu'il y a une erreur dans la liaison dll-module vba, mais je n'arrive pas à savoir laquelle. C'est la première fois que j'utilise une dll.
Est ce que par exemple il faut que j'exporte la méthode A même si je ne l'appelle directement pas dans le module vba?
Voyez vous une autre erreur sinon?
Merci d'avance pour votre aide.