在自己的类中使用Timer,TimerProc是static,则处理函数中调用类的成员函数也必须是static?在线等,马上结!

killers100 2005-08-29 10:06:53
我要调用的成员函数不能是static,怎么办?
...全文
209 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2005-08-29
  • 打赏
  • 举报
回复
用全局函数好了
killers100 2005-08-29
  • 打赏
  • 举报
回复
现在TimerProc不在类里面了,
做在外面的函数了。
csnew 2005-08-29
  • 打赏
  • 举报
回复
你的TimerProc在哪个类里面?
只要在TimerProc里得到该类的指针就可以了
就这么简单!
killers100 2005-08-29
  • 打赏
  • 举报
回复
是我说错,就是定义全局的回调函数不行啊。

我现在调通了,就是刚才说的,在外面声明一个全局函数,一个类的指针pEx。
1、传this指针给变量pEx
2、SetTimer
3、在TimerProc里面调用pEx来访问类的成员函数。


不过这种是曲线救国方法了。看大家还有没有什么主意。。
mymyal123 2005-08-29
  • 打赏
  • 举报
回复
up
pomelowu 2005-08-29
  • 打赏
  • 举报
回复
用全局变量好像不行啊?
可是在类的成员函数好像不能声明extern啊??

_____________

不是全局变量,而是全局的回调函数
killers100 2005-08-29
  • 打赏
  • 举报
回复
在类里面声明extern的Callback函数根本没办法通过。
是不是要在外面声明一个全局函数?
然后传指针给它?
pomelowu 2005-08-29
  • 打赏
  • 举报
回复
冰茶试过这样做?在静态成员中使用this指针可能会导致错误的。

另,毕竟应该把static的功能明确。静态成员并不是被某一个对象所独有,甚至不需要创建对象,也能访问和使用静态成员。所以在静态成员中访问非静态成员,或者把静态成员赋值为非静态成员,都是危险的操作。
快乐鹦鹉 2005-08-29
  • 打赏
  • 举报
回复
全局函数。不要静态。
killers100 2005-08-29
  • 打赏
  • 举报
回复
用全局变量好像不行啊?
可是在类的成员函数好像不能声明extern啊??
pomelowu 2005-08-29
  • 打赏
  • 举报
回复
冰茶试过这样做?在静态成员中使用this指针可能会导致错误的。

另,毕竟应该把static的功能明确。静态成员并不是被某一个对象所独有,甚至不需要创建对象,也能访问和使用静态成员。所以在静态成员中访问非静态成员,或者把非静态成员赋值为静态成员,都是危险的操作。
csnew 2005-08-29
  • 打赏
  • 举报
回复
也可以在你调用的数据成员加上该类的指针
比如公有数据成员m_a在CMainFrame类中
在timerProc中AfxGetMainWnd()->m_a;
依次类推
lixiaosan 2005-08-29
  • 打赏
  • 举报
回复
用全局函数代替之
pomelowu 2005-08-29
  • 打赏
  • 举报
回复
静态函数中没有this指针,访问非静态成员当然会导致错误。
回调改为全局的函数就是了,把当前对象的指针传入,就能任意调用了。
kvls 2005-08-29
  • 打赏
  • 举报
回复
将该类的This指针保存到类的一个static成员变量中,static的函数通过该指针访问.
#### 收益: 学习《optee系统开发精讲 》套餐的收益如下:1、全体系的掌握optee的核心知识点(多核多线程、启动流程、各API、TA/PTA/STA、driver、service、各设计思想、内存管理、断管理...);2、掌握TEE OS的设计核心思想(不限与optee,对其它TEE也是如此),能够进入软件架构层次的各项设计;3、快速熟悉大系统软件的各项组件,能够进行大系统软件之间的设计或排查问题4、学习和理解理解Armv8/Armv9架构、Trustzone架构5、技术水平提升N个level, 掌握快速的学习方法;#### 课程简介和大纲 该课程包含但不限与以下章节:optee的组件介绍optee os启动流程optee os的初始化流程optee os线程向量表及其作用进入optee os的八种方式optee os的异常向量表和设计模型optee os对irq断的处理optee os对fiq断的处理optee os的内存管理optee os的MMU的使用optee os的根密钥(信任根)optee os的RPC机制optee os的存储系统optee os的SFS系统optee os的RPMB机制的实现optee os的Timer实现optee os实现的GP APIoptee os的系统调度optee os密码学函数的支持optee os的线程调度CA/TA的开发模型optee os的serviceoptee os的 PTAoptee os的 secure driveroptee os的 Early TAopteespinlock的实现原理详解opteemutex的实现方式optee的栈指针和栈内存的介绍optee使用虚函数(平台客制化)的设计模型共享内存的介绍optee os的标准错误码TA的签名和验签TA链接静态库的方法

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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