MFC CDialog中控件跨线程访问失败

项目中对话框收集完信息要通过网络发送出去,发送之前需要对用户信息做一些格式化处理。索性直接开个线程,在新线程中处理所有的事情(包括取得信息+格式化信息+网络发送信息)。

过程中却发现新线程中GetDlgItem总是不能取得正确控件对象

解决方法:保证GetDlgItem和对话框创建在统一线程即可。

具体原因应该是MFC使用了TLS(线程局部存储)。具体有时间再详细看看吧。

posted @ 2014-02-21 19:30  ssp1024  阅读(311)  评论(0编辑  收藏  举报