AfxBeginThread启动线程问题

JxSimons 2014-01-24 02:21:43

在头文件(.h)中申明线程
UINT ThreadImportTD(LPVOID lpParam);
class CDlgImportRWKD : public CDialog

......

在实现文件(.cpp)中启动线程
//1.
void CDlgImportRWKD::OnBtnImport() //相应按钮时启动线程
{
AfxBeginThread(ThreadImportTD,this);
//this 为对话框指针,因为需要调用其中的函数和访问其成员变量
}


//2
UINT ThreadImportTD(LPVOID lpParam)
{
CDlgImportRWKD *pDlg = (CDlgImportRWKD*)lpParam;

if(pDlg->tEnd[1] < pDlg->tEnd[4])
pDlg->ImportTodayDK();
pDlg->tEnd[1] = gfreadRWTime(FALSE);
pDlg->m_CTime_RWKDDD.SetWindowText("DD:" + gFormatTime(pDlg->tEnd[1]));
return 1;
}


就上述代码,不知怎么,无法启动线程,断点调试也无法进去:
在AfxBeginThread(ThreadImportTD,this);设置断点,能到该位置,再往下执行时,就没任何反应,请大家帮我看看,谢谢。
(在release下可以启动该线程,完成需要做的事情,而且原来也写过类似的,也在debug下也能执行)

...全文
168 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
见习学术士 2014-01-24
  • 打赏
  • 举报
回复
代码没问题,你可以换成

DWORD dwThreadId ;
m_hDAPThread = (HANDLE)_beginthreadex( NULL, 0, lpFunc, lpParam, 0, &dwThreadId );
创建试试
JxSimons 2014-01-24
  • 打赏
  • 举报
回复
CWinThread *pthread = AfxBeginThread(ThreadImportDZH,(LPVOID)this); 调试时发现返回值为0,即pthread =0;
JxSimons 2014-01-24
  • 打赏
  • 举报
回复
引用 1 楼 fengqinqdca 的回复:
你在线程里面打断点进不去?
是的,进不到功能函数里面
华美乐章 2014-01-24
  • 打赏
  • 举报
回复
你在线程里面打断点进不去?

15,473

社区成员

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

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