请教大家一个回调函数的问题

qq_29670983 2016-09-01 04:53:52
最近写了个程序用计时器创建另外的一个线程每隔一秒钟执行一些东西,在回调函数里面怎么样来共享类里面的数据呢?有的语句我想让它只在回调函数里面执行一遍请问要怎么办呢?
...全文
556 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2016-09-02
  • 打赏
  • 举报
回复
想办法将相关的参数作为回调函数的参数。或者你定义一个全局的或者static成员,回调函数能够访问到即可。
worldy 2016-09-02
  • 打赏
  • 举报
回复
函数被不同的线程调用,就属于不同的线程,只要的是,你必须保证同步,使用临界区同步最简单
夜小白945 2016-09-02
  • 打赏
  • 举报
回复
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 void CCashUnitAgeTestDlg::OnOK() { AfxBeginThread(ProcRunThread, (LPVOID)this); // 传入对象指针 } void CCashUnitAgeTestDlg::vShowResult(LPCTSTR p_pcTestInfo) { ...... } UINT ProcRunThread(LPVOID pParam) { // 转换 CCashUnitAgeTestDlg* pDlg = (CCashUnitAgeTestDlg*)pParam; pDlg->vShowResult() }
许文君 2016-09-02
  • 打赏
  • 举报
回复
类指针传入,static或者全局的对象
qq_35549593 2016-09-02
  • 打赏
  • 举报
回复
共享数据的话只要把数据设置为全局变量就好了,参数传递也可以 只执行一次的话可以设置一个全局变量 比如

int tis=0;//定义全局变量
if(tis==0)
	{
       //你要执行的语句 
	tis++;
	}//放在回调函数中
oyljerry 2016-09-01
  • 打赏
  • 举报
回复
把类指针等作为函数参数传递过去
赵4老师 2016-09-01
  • 打赏
  • 举报
回复
在类中实现几个接口函数。

15,471

社区成员

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

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