AfxBeginThread(PostData,NULL); 函数参数不对,类型和数量有问题
解决方案 »
- 如何处理由flash控件发出来的WM_IME_NOTIFY消息
- 登记对方IP时碰到的问题。
- 如何在工具条上放置一个静态文本框??请教高手
- 下载的代码问题
- 如何判断某个文件是否存在?? 已给定文件名
- 如何根据屏幕得分辨率自动改变CDialog类对象的得大小?
- 如何添加帮助。
- 在VC中怎么样把UTF8转化成VC能够辨认的格式,如string.
- 求教怎样用vc制作软件的动画封面,高分相赠!
- 求助:MFC对话框程序在点击OK后自动关闭,但删除一段看似无关的代码后又正常。多谢大家了
- 如何把一个文件的一部分比如前N个字符写入另一个文件?
- 请问那里有<<Advanced Windows>>的电子版下载?最好是中文版。
{
CoInitialize(NULL);
CMyDlg* p = (CMyDlg*)lpParameter;
do
{
BOOL b = p->OnDownload();
if( !b )
Sleep( 1000*10 );
}while(1);
CoUninitialize();
ExitThread(0);
return(0);
}
定义为静态成员函数也可以.
{ AfxBeginThread(PostData,NULL); }
static UINT PostData(LPVOID pParam); static UINT CSp_14Dlg::PostData(LPVOID pParam)
{
Get();
} 结果还是不行!!!
{ AfxBeginThread(CSp_14Dlg::PostData,NULL); } static UINT CSp_14Dlg::PostData(LPVOID pParam)
{
Get();
}
还有
PostData要返回值呀!其他都没问题了
{
CSp_14Dlg * p = (CSp_14Dlg*)pParam;
p->PostData(pParam);
return 0;
}
void CSp_14Dlg::OnOK()
{ AfxBeginThread(PostData,this); } UINT CSp_14Dlg::PostData(LPVOID pParam)
{
Get();
}
出错信息为
C:\Windows\Desktop\sam_sp_teach_141\sp_14\sp_14Dlg.cpp(47) : error C2724: 'PostData' : 'static' should not be used on member functions defined at file scope
类的非static成员函数必须是__fastcall,这是不能更改,因此只有使用static function.
不过,使用thunk可以让成员函数变得可以作为callback函数,但是这也让程序变得高度不可移植。所以还是使用static function吧。
ThreadProc(LPVOID pParam)
{
CYourClass *pCls = (CYourClass *)pParam;
pCls->xxxx();
}xxx()
{
CYourClass m_cls;
AfxBeginThread(ThreadProc,&m_cls);
}