一个关于dll调用的问题。

wxpwxp 2004-02-05 05:24:55
在ImageSize.cpp中添加,生成ImageSize.dll
extern "C" _declspec(dllexport) CRect SetImageSize(CRect rc,CRect PaperSize)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
double a,b;
a=(double)PaperSize.bottom/(double)PaperSize.right;
b=(double)rc.bottom/(double)rc.right;
if((PaperSize.bottom<rc.bottom)&&(a<b))
{
rc.bottom=PaperSize.bottom;
rc.right=(long)(rc.bottom*(1/b));
return rc;
}if((PaperSize.right<rc.right)&&(a>b))
{
rc.right=PaperSize.right;
rc.bottom=(long)(rc.right*b);
return rc;
}
else
return rc;
}
在实现文件中调用此函数。
typedef CRect (WINAPI * TESTDLL)(CRect,CRect);


HINSTANCE hmod;
hmod = ::LoadLibrary ("ImageSize.dll");
if(hmod==NULL)
{
AfxMessageBox("Fail");
}
TESTDLL lpproc;
lpproc = (TESTDLL)GetProcAddress (hmod,"SetImageSize");
if(lpproc!=(TESTDLL)NULL)
rc=(*lpproc)(rc,pInfo->m_rectDraw);

FreeLibrary(hmod);
调试在rc=(*lpproc)(rc,pInfo->m_rectDraw);一句中出错!!
不知是那里的问题!
大家给看看!
...全文
38 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧