|
不知道作业这个对不对,发上来等大神指点下.
思路是既然他是应为异步提前释放的,那如果生命一个全局的class类,那么手动赋值,手动释放.是不是就能解决,经过尝试,的确是解决了,只是感觉是不是自己的方法比较笨且麻烦
我的方法步骤
1 头文件里声明一个类,并写了一个构造函数
- class CStringLS {
- public:
- CString m_path;
- CStringLS(CString str) {
- m_path = str;
- }
- };
复制代码 2 获取路径把获得路径穿给新申请的类对象
- CString strPath = mFinder.GetFilePath();
- CStringLS* LPpath = new CStringLS(strPath);
- PostMessage(pitem->m_mianhwnd, WM_ADD_ITEM,0, (LPARAM)LPpath);//发送消息
复制代码 3 消息接收的时候获取类对象,操作完后释放
- LRESULT CMFCCThread8Dlg::OnAddItem(WPARAM w_Param, LPARAM lParam) //消息响应函数的实现
- {
- CStringLS* strpath = (CStringLS*)lParam;
- m_ResultLise.InsertItem(0, strpath->m_path);
- delete strpath;//释放pitem对象
- return TRUE;
- }
复制代码
|
上一篇: 第09课 多线程编程综合实例2 | 课程代码
|