J'essaie d'importer d'une dll une fonction qui retourne un booleen.
on code est les suivant :
A la compilation, j'ai le message d'erreur suivant :
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
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); } }
[C++ Erreur] Unit1.cpp(27): E2034 Impossible de convertir 'int (__stdcall *)()' en 'bool (__stdcall *)()'.
Je ne comprends pas pourquoi...quelqu'un a une idee?
Partager