mfc 线程函数调用类函数中的变量

[复制链接]
查看11 | 回复2 | 2010-11-13 17:54:26 | 显示全部楼层 |阅读模式
在MFC中,我新建了一个线程,在这个线程中我想要调用主线程中一个函数中的变量。查找了很多资料,这个方法是可以调用主线程中的变量的,但是不能调用主线程函数中的变量,请各位大侠指点一二!应该怎么做呢。
class Thread
{
public:

static UINT threadMessageBoxAdapter( LPVOID lParam );

UINT threadMessageBoxProc( );
private:

CString strThreadText;
};
线程函数的实现:
UINT Thread::threadMessageBoxAdapter( LPVOID lParam )
{

CTestVectorDlg* obj = ( CTestVectorDlg* )lParam;

return obj->threadMessageBoxProc();
}
UINT Thread::threadMessageBoxProc()
{

CString strThreadText;

strThreadText.Format( _T( "%s" ), _T( "Thread adapter" ) );

AfxMessageBox( strThreadText );

return 0;
}
使用AfxBeginThread启动线程:

CWinThread* thread;

thread = AfxBeginThread( threadMessageBoxAdapter, this );
这样,当线程启动后,弹出”Thread Adapter”的信息,说明成功访问成员变量。

回复

使用道具 举报

千问 | 2010-11-13 17:54:26 | 显示全部楼层
MFC中有线程类CWinThread, 你怎么自己创建线程类呢?在一个新线程中调用主线程中一个函数中的变量:函数中的变量怎么会给别的线程调用呢? 说法不准确,应该是线程之间的数据共享吧?函数中的变量:是线程中的变量吧?
回复

使用道具 举报

千问 | 2010-11-13 17:54:26 | 显示全部楼层
没明白你要做什么。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行