弱弱的问个多线程的问题

QQ_370566617 2006-09-01 05:47:27
我开了一个工人线程,传入CView类的指针

在线程里调用UpdateAllViews(NULL);

结果在调试时这个函数处报错

是不是不能用啊,为什么?
...全文
217 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
djfu 2006-09-04
  • 打赏
  • 举报
回复
DWORD ThreadFunc(LPVOID lparam)
{
CYourClass *ls = (CYourClass *)lparam;
//...
}
QQ_370566617 2006-09-04
  • 打赏
  • 举报
回复
比如CMyView继承CView,在其中加了一个指向其它对象的指针

如果向线程中传入?CMyView的句柄,我在线程内如何获得那个指针呢?
jerry 2006-09-03
  • 打赏
  • 举报
回复
将 View 的 HWND (m_hWnd成员)传入线程, 线程对视图的操作可以通过自定义的窗口消息来进行.
hoocode 2006-09-02
  • 打赏
  • 举报
回复
不能这样子搞。切忌。 给主线程发消息
dronly 2006-09-02
  • 打赏
  • 举报
回复
我开了一个工人线程,传入CView类的指针
------------------------
错误! 窗体对象指针不能传入线程. 但可以将 HWND传入,并在该句柄上调用Invaludete 等API函数.

-------------------------
传入床体对象的指针应该是可以的吧?
可以把Form 类的指针传进去,然后得到CView的操作,前提是你要包含Form的定义,申请一个Form类的指针变量,在建立工作线程的时候传进去,或者直接的就把CView的对象指针传进去,但建议不要这样做,传Handle安全点
QQ_370566617 2006-09-02
  • 打赏
  • 举报
回复
另外如果CView派生类对象里还有其它对象指针怎么办,就不能传句柄了?
QQ_370566617 2006-09-02
  • 打赏
  • 举报
回复

您好,我对句柄的操作不太熟

传入句柄怎么做强制转换,又怎么使用呢
djfu 2006-09-02
  • 打赏
  • 举报
回复
传指针可能在指针到达目标窗口时就已经无效了。
QQ_370566617 2006-09-02
  • 打赏
  • 举报
回复
发消息,传指针,传句柄给线程有什么不同?

都说传句柄好,为什么?
Torch009 2006-09-02
  • 打赏
  • 举报
回复
MFC对象是不能作为传入线程的参数的。
jerry 2006-09-01
  • 打赏
  • 举报
回复
我开了一个工人线程,传入CView类的指针
------------------------
错误! 窗体对象指针不能传入线程. 但可以将 HWND传入,并在该句柄上调用Invaludete 等API函数.

CFile outFile(lpFileName,CFile::modeCreate|CFile::modeWrite);

----------------------------
这个本身没错,不过如果这样的话, 如果打开文件失败,则会抛出异常.你要处理这个异常.
QQ_370566617 2006-09-01
  • 打赏
  • 举报
回复
好像这个 CFile outFile(lpFileName,CFile::modeCreate|CFile::modeWrite);

也报错,真不知道为什么
对线程才刚入门

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧