importation d'un fonction d'une dll dans mon application
J'essaie d'importer d'une dll une fonction qui retourne un booleen.
on code est les suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
typedef bool (__stdcall *MYDLLFUNC)(void);
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HINSTANCE hinstDLL;
MYDLLFUNC ImpFuncDLL;
bool iRet;
if ((hinstDLL=LoadLibrary("i2c_lib.dll"))) {
ImpFuncDLL = GetProcAddress(hinstDLL, "i2c_selectport");
if (ImpFuncDLL) {
iRet = ImpFuncDLL();
}
FreeLibrary(hinstDLL);
}
} |
A la compilation, j'ai le message d'erreur suivant :
[C++ Erreur] Unit1.cpp(27): E2034 Impossible de convertir 'int (__stdcall *)()' en 'bool (__stdcall *)()'.
Je ne comprends pas pourquoi...quelqu'un a une idee?