在MFC基于对话框的程序中,如何让一个函数在另一条线程上运行??
voidCSIT项目(基于对话框)Dlg::处理视频(VideoCapture&cap)这个函数要处理整个视频,每次运行这个函数后,程序很容易假死,而且其他按钮都失效,如...
void CSIT项目(基于对话框)Dlg::处理视频(VideoCapture &cap)
这个函数要处理整个视频,每次运行这个函数后,程序很容易假死,而且其他按钮都失效,如何防止这种问题,让程序变的正常些。。。急啊。。。悬赏值不够。。。恳请大神帮个忙啊。。。 展开
这个函数要处理整个视频,每次运行这个函数后,程序很容易假死,而且其他按钮都失效,如何防止这种问题,让程序变的正常些。。。急啊。。。悬赏值不够。。。恳请大神帮个忙啊。。。 展开
1个回答
推荐于2016-11-10 · 知道合伙人软件行家
关注
展开全部
1.定义一个静态函数 static void ThreadDo(LPVOID p);
实现如下:
void CSIT项目(基于对话框)Dlg::ThreadDo(LPVOID p)
{
CSIT项目(基于对话框)Dlg *pt = (CSIT项目(基于对话框)Dlg *)p;
pt->处理视频(VideoCapture &cap);
}
2. 然后在要处理视频的位置启动线程 AfxBeginThread(ThreadDo, this);
追问
万分感谢!!
不过编译之后还是出了一些错,我改了几处后最后这个错误是在不知道该怎么改了:
错误 1 error C2665: “AfxBeginThread”: 2 个重载中没有一个可以转换所有参数类型
2 IntelliSense: 没有与参数列表匹配的 重载函数 "AfxBeginThread" 实例
麻烦再指点一下下~谢谢了~~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询