读书人

如何使用delphi的dll啊

发布时间: 2012-04-21 14:34:44 作者: rapoo

怎么使用delphi的dll啊?
有个Dll文件使用delphi编写的,使用dllview.exe程序观察只能看到函数名称看不到参数,该dll文件在delphi中是这样申明的:
function GetAPInfo(pApIP:PChar;var pApInfoData:k;var iApInfoSize:integer):boolean ; stdcall;
//这个函数中pApInfoData是类似于TStringList的一个数据

function DisconnectAP(pApIP,TargetIP:Pchar): Boolean; stdcall;

请问,在bcb中该怎么申明和调用这个dll?
这个dll是第三方公司的,只能给这些信息,谢谢了,分不够再开贴

[解决办法]
假设这个k是一个TStrings的继承类型,可以这样调用:

C/C++ code
typedef bool (__stdcall *GETAPINFO)(LPSTR pApIP, TStrings *pApInfoData, int &iApInfoSize);typedef bool (__stdcall *DISCONNECTAP)(LPSTR pApIP, LPSTR TargetIP);HINSTANCE hDll = ::LoadLibrary(TEXT("dll文件的路径和文件名"));if (hDll){    GETAPINFO GetAPInfo = (GETAPINFO)::GetProcAddress(hDll, "GetAPInfo");    if (GetAPInfo)    {        // 调用GetAPInfo函数         int nSize;         GetAPInfo("192.168.1.100", Memo1->Lines, nSize);    }    else    {        ShowMessage("GetAPInfo函数获取失败");    }    DISCONNECTAP DisconnectAP = (DISCONNECTAP)::GetProcAddress(hDll, "DisconnectAP");    if (DisconnectAP)    {        // 调用DisconnectAP函数    }    else    {        ShowMessage("DisconnectAP函数获取失败");    }    ::FreeLibrary(hDll);}
[解决办法]
pApInfoData 有可能是自定义的结构体 或者自定义数据类型。

能找到定义最好

读书人网 >C++ Builder

热点推荐