C++ Builder调用Delphi的DLL问题请教 ( 积分: 100 )

  • 主题发起人 主题发起人 由由(love)
  • 开始时间 开始时间

由由(love)

Unregistered / Unconfirmed
GUEST, unregistred user!
DELPHI中的定义如下:
Function TestDLL(var abc: Array of PChar) : Boolean ;Stdcall ;

注意:abc中还要有返回传。

C++ Builder中如何调用呢?需要给出例子,动态调用的!谢谢!
 
按你的作法给你个例子, 略作修改即可用

typedef int __stdcall (TEST_DLL_FUNCTION)(char *);

{
char pszAbc[256];
memset(pszAbc, 0, sizeof(pszAbc));
memcpy(.....)


bool bReturn = false;
try
{
HANDLE hDLL_TEST = LoadLibrary("你的DLL.dll");
if(hDLL_TEST != NULL)
{
TEST_DLL_FUNCTION *pYouFunctionDLL = (TEST_DLL_FUNCTION *)
GetProcAddress(hDLL_TEST, "TestDLL");
if(pYouFunctionDLL)
{
int iReturn = pYouFunctionDLL(pszAbc);
if(iReturn == 0)
{
return true;
}
else

{
ShowMessage(".....嘻嘻.....")
return false;
}
}
FreeLibrary(hDLL_TEST);
}
else

{
Application->MessageBox(
"加载你的DLL.dll error", "加载 你的DLL.dll 出错, 请检查该文件以及LDAP相关文件是否存在",
"Error",
MB_OK | MB_ICONINFORMATION);
return false;
}
}
catch(...)
{
//这里写点日志
return false;
}

}
 
应该就是这样了,我现在做的东西就是DLL分成各个模块的,代码基本相同
 
后退
顶部