VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: caesar517

我用AfxBeginThread起一线程,线程函数里需要view类指针,但是会内存泄漏或是断言错误?

[复制链接]

1

主题

9

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-9-27 10:45:01 | 显示全部楼层
他在调试模式才运行
你在发布模式试一试
回复

使用道具 举报

1

主题

9

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-9-27 11:00:02 | 显示全部楼层
楼上,也不行啊,没有断言错误,但是弹出对话框,程序出现问题需要结束:(
回复

使用道具 举报

1

主题

9

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-9-27 11:15:01 | 显示全部楼层
我想在对话框类的线程函数里往view类发消息,让view类接收消息画图,怎么传递句柄呢?
有相关的代码帖过来看看吗?
万分感谢!
回复

使用道具 举报

1

主题

9

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-9-27 11:30:01 | 显示全部楼层

你在建立新线程的时候把要画的view指针传进线程
然后再线程里操作就可以了
回复

使用道具 举报

1

主题

9

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-9-27 11:45:01 | 显示全部楼层
CMDIFrameWnd *pMain=(CMDIFrameWnd *)AfxGetApp()->m_pMainWnd
CMDIChildWnd *pChild=(CMDIChildWnd *)pMain->GetActiveFrame
CMyView *pView=(CMyView *)pChild->GetActiveView();

m_draw=AfxBeginThread(DrawGraph,(void *)pView,THREAD_PRIORITY_BELOW_NORMAL,\
                        0,CREATE_SUSPENDED);
UINT DrawGraph(LPVOID lpV)
{
CMyView *pDraw=(CMyView *)lpV;
......
......
return 0;
}
然后我这样是不是就得到view类指针了?再调用view类成员变量和成员函数行吗?
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表