为何回调函数不执行??

kele4829 2006-06-02 10:30:32
为何回调函数不执行??

我在类的构造函数里写
uTSystemFun1()
{
TIMERPROC pTime = (TIMERPROC)OnTime;
SetSavePointType();
// create control for timer
m_hWnd = ::CreateWindow("static", "", 0, 0, 0, 0, 0, NULL, NULL, 0, NULL);
::SetWindowLong(m_hWnd , GWL_USERDATA , (long)(this) );
SetTimer(m_hWnd,1,1000,pTime);
}
回调函数为:
static void OnTime()//.HWND h,UINT u1,UINT u2,DWORD d)
{if (CpuTime == MaxSavePoint)
{
CpuUsagePos();
CpuTime=CpuTime-1;
}
CpuUsageSun.TSavePoint[CpuTime]=CpuTime;
CpuTime=CpuTime+1;
}

在main()里:uTSystemFun1 *sys = new uTSystemFun1;

可为何OnTime()一直不执行啊 ??
...全文
299 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
折腾_苏州 2006-06-02
  • 打赏
  • 举报
回复
那你把uTSystemFun1 *sys = new uTSystemFun1;放在main()的哪里了,最后面?
kele4829 2006-06-02
  • 打赏
  • 举报
回复
不明白
折腾_苏州 2006-06-02
  • 打赏
  • 举报
回复
uTSystemFun1 *sys = new uTSystemFun1;要放在主消息循环 Main message loop的前面。。。
折腾_苏州 2006-06-02
  • 打赏
  • 举报
回复
其实已经执行了,只不过立即又终止了,当程序出现Press any key to continue,程序已经终止,你可以在uTSystemFun1 *sys = new uTSystemFun1;
后面加上MessageBox(m_hWnd,"wait","wait",MB_OK);看看回调函数是否在执行?
kele4829 2006-06-02
  • 打赏
  • 举报
回复
void main(void)
{
uTSystemFun1 *sys = new uTSystemFun1;
************
***********
}

16,471

社区成员

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

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

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