调用代码如下
THEADPARAMS*ptp=(THEADPARAMS*)p;
HWND hWnd=ptp->hWnd;HMODULE hDll=LoadLibrary(_T("singlercs.dll"),NULL,NULL);
if(!hDll)
{
//::MessageBox(_T("loading dll fail"));
return 0;
}
void(*proc)(float*,float*,float*,float*,float*,float*,float*);
proc=(void(*)(float*,float*,float*,float*,float*,float*,float*))GetProcAddress(hDll,"MAIN"); //对于dll中的函数名在此必须大写
if(!proc)
{
//::MessageBox(_T("loading subroutine program fail"));
}
else
{
proc(&(ptp->lambda),&(ptp->Itheta),&(ptp->alpha),&(ptp->IphiB),&(ptp->IphiE),&(ptp->Increment),&(ptp->Stheta));
FreeLibrary(hDll);
return 0;
}
THEADPARAMS*ptp=(THEADPARAMS*)p;
HWND hWnd=ptp->hWnd;HMODULE hDll=LoadLibrary(_T("singlercs.dll"),NULL,NULL);
if(!hDll)
{
//::MessageBox(_T("loading dll fail"));
return 0;
}
void(*proc)(float*,float*,float*,float*,float*,float*,float*);
proc=(void(*)(float*,float*,float*,float*,float*,float*,float*))GetProcAddress(hDll,"MAIN"); //对于dll中的函数名在此必须大写
if(!proc)
{
//::MessageBox(_T("loading subroutine program fail"));
}
else
{
proc(&(ptp->lambda),&(ptp->Itheta),&(ptp->alpha),&(ptp->IphiB),&(ptp->IphiE),&(ptp->Increment),&(ptp->Stheta));
FreeLibrary(hDll);
return 0;
}
解决方案 »
- 如何在VC程序中打开.eml邮件文件,不外调 Outlook Express ,FoxMail等程序的情况下
- 关于send()和receve()发送和接受数据长度问题
- [简单问题]VC中创建单文档程序后,添加了对话框,如何在运行程序时先显示对话框,然后再显示单文档界面 [界面]
- 关于端口扫描的问题
- 获得操作系统用户属性
- 打算申请[图形处理/算法]板块小猪,有支持的没?
- 请问AdoDbLib.lib是什么啊?(小弟初学者)
- SDK如何实现文本框中按Ctrl+A全选所有文字...看了,好多源码都没实现这个功能.!
- CFontHolder 和 FONTDESC 是什么??
- "......Because it requires a design-time license"
- 如何让控制台应用程序占用更多CPU
- 如何去掉对话框默认图标
{...
}
中的
__stdcall需要在全局声明,有影响吗
void(__stdcall *proc)(float*,float*,float*,float*,float*,float*,float*);
proc=(void(__stdcall *)(float*,float*,float*,float*,float*,float*,float*))GetProcAddress(hDll,"MAIN");
不过还是谢谢了