首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

c++builder调用VC的DLL解决办法

2012-04-24 
c++builder调用VC的DLL头儿给了我一个读二代证的DLL(VC写的)让我用c++builder6开发一个C/S的读卡软件,由于

c++builder调用VC的DLL
头儿给了我一个读二代证的DLL(VC写的)让我用c++builder6开发一个C/S的读卡软件,由于初次接触DLL,所以现在不知到怎么调用?
DLL内的函数是
int GetPersonMsgA(unsigned char * pInfo, char * pszImageFile)

int OpenCardReader(long nPort, DWORD ulFlag, DWORD ulBaudRate)
int CloseCardReader()
请问各位高手怎么调用这些函数



[解决办法]
如果想静态调用,先用implib工具从DLL中导出.lib文件,然后加入到工程中,声明了以上函数以后,直接用就行了。
[解决办法]
如果想动态调用,则用三件套API:LoadLibrary/GetProcAddress/FreeLibrary
[解决办法]
动态调用比较灵活一些,给你一段代码,参考一下

C/C++ code
    HANDLE LibHandle;    LibHandle = LoadLibrary("你的DLL.dll");    int  (*GetPersonMsgA)(unsigned char *, char *);    (void *)GetPersonMsgA= GetProcAddress(LibHandle,"GetPersonMsgA");    GetPersonMsgA(pInfo,pszImageFile); //参数为真实调用的参数
[解决办法]
要看VC开发DLL包的类型,有些DLL是MFC专门制作的资源包可能不好调用。。

热点排行