c++builder 所建dll 包含窗体,用到控件 cxGrid问题
seawn 2014-10-20 04:33:11 exe调用 dll窗体,窗体上包含cxGrid控件,退出主程序exe就报
project XXX.exe raised exception class EAccessViolation with message 'Access violation at address 4000572c. Read of address 04A66C74'. Process stoped. Use Step or Run to Continue.
如果没有cxGrid控件,就没有问题,,一放入cxGrid控件退出程序就报错。动态调用dll,是不是哪里出错了。
请大神支招。。
HINSTANCE DLLInst = LoadLibrary(dlls.c_str());
if (DLLInst)
{
typedef void (*pFun)(TApplication* mainApp,FUNPARA * fpEntry);
pFun cf = (pFun)GetProcAddress( DLLInst,func.c_str());
if (cf)
cf(Application,&G_f);
else
{
func = "无法定位入口函数 "+func+" ,请与系统管理员联系!";
MessageBox(Handle,func.c_str(),"错误",MB_OK|MB_ICONERROR);
}
}
else
{
dlls = "无法装载动态链接库 "+dlls+" ,请与系统管理员联系!";
MessageBox(Handle,dlls.c_str(),"错误",MB_OK|MB_ICONERROR);
}
FreeLibrary(DLLInst);